Part Number Hot Search : 
SI2176 CM3003 S1D13705 10101 TDA7440 330M10 330M10 2024Q
Product Description
Full Text Search
 

To Download EP4CE30F23C7N Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  101 innovation drive san jose, ca 95134 www.altera.com cyclone iv device handbook, volume 1 cyiv-5v1-1.5
copyright ? 2010 altera corporation. all rights reserved. altera, the programmable solutions company, the stylized altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of altera corporation in the u.s. and other countries. rsds and ppds are registered trademarks of national semiconductor. all other product or service names are the proper ty of their respective holders. altera products are protected under numerous u.s. and foreign patents and pending applications, maskwork rights, and copyrights. altera warrant s performance of its semiconductor products to current specifications in accordance with altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. altera as- sumes no responsibility or liability arising out of the application or use of any information, product, or service described he rein except as expressly agreed to in writing by altera corporation. altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services .
? december 2010 altera corporation cyclone iv device handbook, volume 1 contents chapter revision dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix additional information about this handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . info-xi how to contact altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . info-xi typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . info-xi section i. device core revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-1 chapter 1. cyclone iv fpga device family overview cyclone iv device family features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 device resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 package matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 cyclone iv device family speed grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 cyclone iv device family architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 fpga core fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 i/o features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 clock management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 external memory interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 high-speed transceivers (cyclone iv gx devices only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 hard ip for pci express (cyclone iv gx devices only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 reference and ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 chapter 2. logic elements and logic array blocks in cyclone iv devices logic elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 le features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 le operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 arithmetic mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 logic array blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 lab interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 lab control signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 chapter 3. memory blocks in cyclone iv devices overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 control signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 parity bit support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 byte enable support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 packed mode support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 address clock enable support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 mixed-width support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 asynchronous clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
iv contents cyclone iv device handbook, volume 1 ? december 2010 altera corporation memory modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 single-port mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 simple dual-port mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 true dual-port mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 shift register mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 rom mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 fifo buffer mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 clocking modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 independent clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 input or output clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 read or write clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 single-clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 design considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 read-during-write operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 same-port read-during-write mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 mixed-port read-during-write mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 conflict resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 power-up conditions and memory initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 chapter 4. embedded multipliers in cyclone iv devices embedded multiplier block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 input registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 multiplier stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 output registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 operational modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 18-bit multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 9-bit multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 chapter 5. clock networks and plls in cyclone iv devices clock networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 gclk network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 clock control block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 gclk network clock source generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 gclk network power down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 clkena signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 plls in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 cyclone iv pll hardware overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 external clock outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 clock feedback modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22 source-synchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22 no compensation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23 normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 zero delay buffer mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 deterministic latency compensation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 hardware features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 clock multiplication and division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 post-scale counter cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27 programmable duty cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27 pll control signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
contents v ? december 2010 altera corporation cyclone iv device handbook, volume 1 clock switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 automatic clock switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 manual override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30 manual clock switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 programmable bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 phase shift implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 pll cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34 pll reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35 pll reconfiguration hardware implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35 post-scale counters (c0 to c4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37 scan chain description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-38 charge pump and loop filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39 bypassing a pll counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-40 dynamic phase shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41 spread-spectrum clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43 pll specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43 section ii. i/o interfaces revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii-1 chapter 6. i/o features in cyclone iv devices cyclone iv i/o elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 i/o element features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 programmable current strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 slew rate control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 open-drain output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 bus hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 programmable pull-up resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 programmable delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 pci-clamp diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 oct support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 on-chip series termination with calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 on-chip series termination without calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 i/o standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 termination scheme for i/o standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 voltage-referenced i/o standard termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 differential i/o standard termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 i/o banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 high-speed differential interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 external memory interfacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 pad placement and dc guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 pad placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 dc guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 clock pins functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 high-speed i/o interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 high-speed i/o standards support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 high speed serial interface (hssi) input reference clock support . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 lvds i/o standard support in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6- 28 designing with lvds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 blvds i/o standard support in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 9 designing with blvds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
vi contents cyclone iv device handbook, volume 1 ? december 2010 altera corporation rsds, mini-lvds, and ppds i/o standard support in cyclone iv devices . . . . . . . . . . . . . . . . . . 6-31 designing with rsds, mini-lvds, and ppds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 1 lvpecl i/o support in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33 differential sstl i/o standard support in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 differential hstl i/o standard support in cyclone iv devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35 true output buffer feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35 programmable pre-emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35 high-speed i/o timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36 design guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38 differential pad placement guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38 board design considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38 software overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-39 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40 chapter 7. external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 data and data clock/strobe pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 optional parity, dm, and error correction coding pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 0 address and control/command pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 memory clock pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 cyclone iv devices memory interfaces features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 ddr input registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 ddr output registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 oct with calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 pll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 section iii. system integration revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii-1 chapter 8. configuration and remote system upgrades in cyclone iv devices configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 configuration features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 configuration data decompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 configuration requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 power-on reset (por) circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 configuration file size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 configuration and jtag pin i/o requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8- 5 configuration process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 power up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 configuration error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 user mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 configuration scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 as configuration (serial configuration devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 single-device as configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 multi-device as configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 configuring multiple cyclone iv devices with the same design . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 guidelines for connecting a serial configuration device to cyclone iv devices for an as interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 programming serial configuration devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18
contents vii ? december 2010 altera corporation cyclone iv device handbook, volume 1 ap configuration (supported flash memories) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 ap configuration supported flash memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8- 21 single-device ap configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 multi-device ap configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 byte-wide multi-device ap configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 word-wide multi-device ap configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8- 25 guidelines for connecting parallel flash to cyclone iv e devices for an ap interface . . . . . . . 8-27 configuring with multiple bus masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 estimating ap configuration time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 programming parallel flash memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30 ps configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 ps configuration using an external host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 ps configuration timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35 ps configuration using a download cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36 fpp configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 fpp configuration using an external host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 fpp configuration timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43 jtag configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44 configuring cyclone iv devices with jam stapl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51 configuring cyclone iv devices with the jrunner software driver . . . . . . . . . . . . . . . . . . . . . . 8-52 combining jtag and as configuration schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52 programming serial configuration devices in-system with the jtag interface . . . . . . . . . . . . 8-54 jtag instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-56 device configuration pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-61 remote system upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68 enabling remote update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-69 configuration image types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-69 remote system upgrade mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-70 remote update mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-70 dedicated remote system upgrade circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-73 remote system upgrade registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-74 remote system upgrade state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-77 user watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-78 quartus ii software support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-79 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-80 chapter 9. seu mitigation in cyclone iv devices configuration error detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 user mode error detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 automated seu detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 crc_error pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 error detection block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 error detection registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 error detection timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 software support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 accessing error detection block through user logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 recovering from crc errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 chapter 10. jtag boundary-scan testing for cyclone iv devices ieee std. 1149.6 boundary-scan register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 bst operation control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
viii contents cyclone iv device handbook, volume 1 ? december 2010 altera corporation extest_pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 extest_train . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 i/o voltage support in a jtag chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 boundary-scan description language support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 chapter 11. power requirements for cyclone iv devices external power supply requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 hot-socketing specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 devices driven before power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 i/o pins remain tri-stated during power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 hot-socketing feature implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 power-on reset circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
? december 2010 altera corporation cyclone iv device handbook, volume 1 chapter revision dates the chapters in this book, cyclone iv device handbook, volume 1 , were revised on the following dates. where chapters or groups of chapters are available separately, part numbers are listed. chapter 1 cyclone iv fpga device family overview revised: december 2010 part number: cyiv-51001-1.4 chapter 2 logic elements and logic array blocks in cyclone iv devices revised: november 2009 part number: cyiv-51002-1.0 chapter 3 memory blocks in cyclone iv devices revised: november 2009 part number: cyiv-51003-1.0 chapter 4 embedded multipliers in cyclone iv devices revised: february 2010 part number: cyiv-51004-1.1 chapter 5 clock networks and plls in cyclone iv devices revised: december 2010 part number: cyiv-51005-2.2 chapter 6 i/o features in cyclone iv devices revised: december 2010 part number: cyiv-51006-2.1 chapter 7 external memory interfaces in cyclone iv devices revised: december 2010 part number: cyiv-51007-2.2 chapter 8 configuration and remote system upgrades in cyclone iv devices revised: december 2010 part number: cyiv-51008-1.3 chapter 9 seu mitigation in cyclone iv devices revised: february 2010 part number: cyiv-51009-1.1 chapter 10 jtag boundary-scan testing for cyclone iv devices revised: february 2010 part number: cyiv-51010-1.1 chapter 11 power requirements for cyclone iv devices revised: july 2010 part number: cyiv-51011-1.2
x chapter revision dates cyclone iv device handbook, volume 1 ? december 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 1 additional information about this handbook this handbook provides comprehensive information about the altera ? cyclone ? iv family of devices. how to contact altera for the most up-to-date information about altera products, see the following table. typographic conventions the following table shows the typographic conventions that this document uses. contact (note 1) contact method address technical support website www.altera.com/support technical training website www.altera.com/training email custrain@altera.com non-technical support (general) email nacomp@altera.com (software licensing) email authorization@altera.com note: (1) you can also contact your local altera sales office or sales representative. visual cue meaning bold type with initial capital letters indicates command names, dialog box titles, dialog box options, and other gui labels. for example, save as dialog box. for gui elements, capitalization matches the gui. bold type indicates directory names, project names, disk drive names, file names, file name extensions, dialog box options, software utility names, and other gui labels. for example, \qdesigns directory, d: drive, and chiptrip.gdf . italic type with initial capital letters indicates document titles. for example, an 519: cyclone iv design guidelines. italic type indicates variables. for example, n + 1. variable names are enclosed in angle brackets (< >). for example, and .pof . initial capital letters indicates keyboard keys and menu names. for example, delete key and the options menu. ?subheading title? quotation marks indicate references to sections within a document and titles of quartus ii help topics. for example, ?typographic conventions.?
info?xii additional information cyclone iv device handbook, volume 1 ? december 2010 altera corporation courier type indicates signal, port, register, bit, block, and primitive names. for example, data1 , tdi , and input . active-low signals are denoted by suffix n . for example, resetn . indicates command line commands and anything that must be typed exactly as it appears. for example, c:\qdesigns\tutorial\chiptrip.gdf . also indicates sections of an actual file, such as a report file, references to parts of files (for example, the ahdl keyword subdesign ), and logic function names (for example, tri ). 1., 2., 3., and a., b., c., and so on. numbered steps indicate a list of items when the sequence of the items is important, such as the steps listed in a procedure. bullets indicate a list of items when the sequence of the items is not important. 1 the hand points to information th at requires special attention. c a caution calls attention to a condition or possible situation that can damage or destroy the product or your work. w a warning calls attention to a condition or possible situation that can cause you injury. r the angled arrow instructs you to press enter . f the feet direct you to more information about a particular topic. visual cue meaning
? december 2010 altera corporation cyclone iv device handbook, volume 1 section i. device core this section provides a complete overview of all features relating to the cyclone ? iv device family, which is the most architecturally advanced, high-performance, low-power fpga in the market place. this section includes the following chapters: chapter 1, cyclone iv fpga device family overview chapter 2, logic elements and logic array blocks in cyclone iv devices chapter 3, memory blocks in cyclone iv devices chapter 4, embedded multipliers in cyclone iv devices chapter 5, clock networks and plls in cyclone iv devices revision history refer to each chapter for its own specific revision history. for information about when each chapter was updated, refer to the chapter revision dates section, which appears in the complete handbook.

? december 2010 altera corporation cyclone iv device handbook, volume 1 1. cyclone iv fpga device family overview altera?s new cyclone ? iv fpga device family extends the cyclone fpga series leadership in providing the market?s lowest-cost, lowest-power fpgas, now with a transceiver variant. cyclone iv devices are targeted to high-volume, cost-sensitive applications, enabling system designers to meet increasing bandwidth requirements while lowering costs. built on an optimized low-power process, the cyclone iv device family offers the following two variants: cyclone iv e?lowest power, high functionality with the lowest cost cyclone iv gx?lowest power and lowest cost fpgas with 3.125 gbps transceivers 1 cyclone iv e devices are offered in core voltage of 1.0 v and 1.2 v. f for more information, refer to the power requirements for cyclone iv devices chapter. providing power and cost savings without sacrificing performance, along with a low-cost integrated transceiver option, cyclone iv devices are ideal for low-cost, small-form-factor applications in the wireless, wireline, broadcast, industrial, consumer, and communications industries. cyclone iv device family features the cyclone iv device family offers the following features: low-cost, low-power fpga fabric: 6k to 150k logic elements up to 6.3 mb of embedded memory up to 360 18 18 multipliers for dsp processing intensive applications protocol bridging applications for under 1.5 w total power cyiv-51001-1.4
1?2 chapter 1: cyclone iv fpga device family overview cyclone iv device family features cyclone iv device handbook, volume 1 ? december 2010 altera corporation cyclone iv gx devices offer up to eight high-speed transceivers that provide: data rates up to 3.125 gbps 8b/10b encoder/decoder 8-bit or 10-bit physical media attachment (pma) to physical coding sublayer (pcs) interface byte serializer/deserializer (serdes) word aligner rate matching fifo tx bit slipper for common public radio interface (cpri) electrical idle dynamic channel reconfiguration allowing you to change data rates and protocols on-the-fly static equalization and pre-emphasis for superior signal integrity 150 mw per channel power consumption flexible clocking structure to support multiple protocols in a single transceiver block cyclone iv gx devices offer dedicated hard ip for pci express (pipe) (pcie) gen 1: 1, 2, and 4 lane configurations end-point and root-port configurations up to 256-byte payload one virtual channel 2 kb retry buffer 4 kb receiver (rx) buffer cyclone iv gx devices offer a wide range of protocol support: pcie (pipe) gen 1 1, 2, and 4 (2.5 gbps) gigabit ethernet (1.25 gbps) cpri (up to 3.072 gbps) xaui (3.125 gbps) triple rate serial digital interface (sdi) (up to 2.97 gbps) serial rapidio (3.125 gbps) basic mode (up to 3.125 gbps) v-by-one (up to 3.0 gbps) displayport (2.7 gbps) serial advanced technology attachment (sata) (up to 3.0 gbps) obsai (up to 3.072 gbps)
chapter 1: cyclone iv fpga device family overview 1?3 device resources ? december 2010 altera corporation cyclone iv device handbook, volume 1 up to 532 user i/os lvds interfaces up to 840 mbps transmitter (tx), 875 mbps rx support for ddr2 sdram interfaces up to 200 mhz support for qdrii sram and ddr sdram up to 167 mhz up to eight phase-locked loops (plls) per device offered in commercial and industrial temperature grades device resources ta b l e 1 ?1 lists cyclone iv e device resources. table 1?1. resources for the cyclone iv e device family resources ep4ce6 ep4ce10 ep4ce15 ep4ce22 ep4ce30 ep4ce40 ep4ce55 ep4ce75 ep4ce115 logic elements (les) 6,272 10,320 15,408 22,320 28,848 39,600 55,856 75,408 114,480 embedded memory (kbits) 270 414 504 594 594 1,134 2,340 2,745 3,888 embedded 18 18 multipliers 15 23 56 66 66 116 154 200 266 general-purpose plls22444444 4 global clock networks 10 10 20 20 20 20 20 20 20 user i/o banks 88888888 8 maximum user i/o (1) 179 179 343 153 532 532 374 426 528 note to table 1?1 : (1) the user i/os count from pin-out files includes all general purpose i/o, dedicated clock pins, and dual purpose configuratio n pins. transceiver pins and dedicated configuration pins are not included in the pin count.
1?4 chapter 1: cyclone iv fpga device family overview device resources cyclone iv device handbook, volume 1 ? december 2010 altera corporation ta b l e 1 ?2 lists cyclone iv gx device resources. table 1?2. resources for the cyclone iv gx device family resources ep4cgx15 ep4cgx22 ep4cgx30 (1) ep4cgx30 (2) ep4cgx50 (3) ep4cgx75 (3) ep4cgx110 (3) ep4cgx150 (3) logic elements (les) 14,400 21,280 29,440 29,440 49,888 73,920 109,424 149,760 embedded memory (kbits) 540 756 1,080 1,080 2,502 4,158 5,490 6,480 embedded 18 18 multipliers 0 40 80 80 140 198 280 360 general purpose plls 1 2 2 4 (4) 4 (4) 4 (4) 4 (4) 4 (4) multipurpose plls 2 (5) 2 (5) 2 (5) 2 (5) 4 (5) 4 (5) 4 (5) 4 (5) global clock networks 20 20 20 30 30 30 30 30 high-speed transceivers (6) 24448888 transceiver maximum data rate (gbps) 2.5 2.5 2.5 3.125 3.125 3.125 3.125 3.125 pcie (pipe) hard ip blocks 1 1 1 1 1 1 1 1 user i/o banks 9 (7) 9 (7) 9 (7) 11 (8) 11 (8) 11 (8) 11 (8) 11 (8) maximum user i/o (9) 72 150 150 290 310 310 475 475 notes to table 1?2 : (1) applicable for the f169 and f324 packages. (2) applicable for the f484 package. (3) only two multipurpose plls for f484 package. (4) two of the general purpose plls are able to support transceiver clocking. for more information, refer to the clock networks and plls in cyclone iv devices chapter. (5) you can use the multipurpose plls for general purpose clocking when they are not used to clock the transceivers. for more in formation, refer to the clock networks and plls in cyclone iv devices chapter. (6) if pcie ? 1, you can use the remaining transceivers in a quad for other protocols at the same or different data rates. (7) including one configuration i/o bank and two dedicated clock input i/o banks for hssi reference clock input. (8) including one configuration i/o bank and four dedicated clock input i/o banks for hssi reference clock input. (9) the user i/os count from pin-out files includes all general purpose i/o, dedicated clock pins, and dual purpose configuratio n pins. transceiver pins and dedicated configuration pins are not included in the pin count.
chapter 1: cyclone iv fpga device family overview 1?5 package matrix ? december 2010 altera corporation cyclone iv device handbook, volume 1 package matrix table 1?3 lists cyclone iv e device package offerings. table 1?3. package offerings for the cyclone iv e device family (note 1) package e144 m164 u256 f256 u484 f484 f780 size (mm) 22 22 8 8 14 14 17 17 19 19 23 23 29 29 pitch (mm) 0.5 0.5 0.8 1.0 0.8 1.0 1.0 device user i/o lvds (2) user i/o lvds (2) user i/o lvds (2) user i/o lvds (2) user i/o lvds (2) user i/o lvds (2) user i/o lvds (2) ep4ce6 91 21 ?? 179 66 179 66 ?????? ep4ce10 91 21 ?? 179 66 179 66 ?????? ep4ce15 81 18 89 21 165 53 165 53 ?? 343 137 ?? ep4ce22 79 17 ?? 153 52 153 52 ?? ???? ep4ce30 ?????????? 328 124 532 224 ep4ce40 ???????? 328 124 328 124 532 224 ep4ce55 ???????? 324 132 324 132 374 160 ep4ce75 ???????? 292 110 292 110 426 178 ep4ce115 ?????????? 280 103 528 230 notes to table 1?3 : (1) the e144 package has an exposed pad at the bottom of the package. this exposed pad is a ground pad that must be connected to the ground plane of your pcb. use this exposed pad for electrical connectivity and not for thermal purposes. (2) this includes both dedicated and emulated lvds pairs. for more information, refer to the i/o features in cyclone iv devices chapter.
1?6 chapter 1: cyclone iv fpga device family overview package matrix cyclone iv device handbook, volume 1 ? december 2010 altera corporation table 1?4 lists cyclone iv gx device package offerings, including i/o and transceiver counts. table 1?4. package offerings for the cyclone iv gx device family package n148 f169 f324 f484 f672 f896 size (mm) 11 11 14 14 19 19 23 23 27 27 31 31 pitch (mm) 0.5 1.0 1.0 1.0 1.0 1.0 device user i/o lvds (1) xcvrs user i/o lvds (1) xcvrs user i/o lvds (1) xcvrs user i/o lvds (1) xcvrs user i/o lvds (1) xcvrs user i/o lvds (1) xcvrs ep4cgx15 72 25 2 72 25 2 ? ? ? ? ? ? ? ? ? ? ? ? ep4cgx22 ? ? ? 72 25 2 150 64 4 ? ? ? ? ? ? ? ? ? ep4cgx30 ? ? ? 72 25 2 150 64 4 290 130 4 ? ? ? ? ? ? ep4cgx50 ? ? ? ? ? ? ? ? ? 290 130 4 310 140 8 ? ? ? ep4cgx75 ? ? ? ? ? ? ? ? ? 290 130 4 310 140 8 ? ? ? ep4cgx110 ? ? ? ? ? ? ? ? ? 270 120 4 393 181 8 475 220 8 ep4cgx150 ? ? ? ? ? ? ? ? ? 270 120 4 393 181 8 475 220 8 note to table 1?4 : (1) this includes both dedicated and emulated lvds pairs. for more information, refer to the i/o features in cyclone iv devices chapter.
chapter 1: cyclone iv fpga device family overview 1?7 cyclone iv device family speed grades ? december 2010 altera corporation cyclone iv device handbook, volume 1 cyclone iv device family speed grades ta b l e 1 ?5 lists the cyclone iv gx devices speed grades. ta b l e 1 ?6 lists the cyclone iv e devices speed grades. table 1?5. speed grades for the cyclone iv gx device family device n148 f169 f324 f484 f672 f896 ep4cgx15 c7, c8, i7 c6, c7, c8, i7 ? ? ? ? ep4cgx22 ? c6, c7, c8, i7 c6, c7, c8, i7 ? ? ? ep4cgx30 ? c6, c7, c8, i7 c6, c7, c8, i7 c6, c7, c8, i7 ? ? ep4cgx50 ? ? ? c6, c7, c8, i7 c6, c7, c8, i7 ? ep4cgx75 ? ? ? c6, c7, c8, i7 c6, c7, c8, i7 ? ep4cgx110 ? ? ? c7, c8, i7 c7, c8, i7 c7, c8, i7 ep4cgx150 ? ? ? c7, c8, i7 c7, c8, i7 c7, c8, i7 table 1?6. speed grades for the cyclone iv e device family (note 1) , (2) device e144 m164 u256 f256 u484 f484 f780 ep4ce6 c8l, c9l, i8l c6, c7, c8, i7, a7 ?i7n c8l, c9l, i8l c6, c7, c8, i7, a7 ??? ep4ce10 c8l, c9l, i8l c6, c7, c8, i7, a7 ?i7n c8l, c9l, i8l c6, c7, c8, i7, a7 ??? ep4ce15 c8l, c9l, i8l c6, c7, c8, i7 i7n i7n c8l, c9l, i8l c6, c7, c8, i7, a7 ? c8l, c9l, i8l c6, c7, c8, i7, a7 ? ep4ce22 c8l, c9l, i8l c6, c7, c8, i7, a7 ?i7n c8l, c9l, i8l c6, c7, c8, i7, a7 ??? ep4ce30????? c8l, c9l, i8l c6, c7, c8, i7, a7 c8l, c9l, i8l c6, c7, c8, i7 ep4ce40 ? ? ? ? i7n c8l, c9l, i8l c6, c7, c8, i7, a7 c8l, c9l, i8l c6, c7, c8, i7 ep4ce55 ? ? ? ? i7n c8l, c9l, i8l c6, c7, c8, i7 c8l, c9l, i8l c6, c7, c8, i7 ep4ce75 ? ? ? ? i7n c8l, c9l, i8l c6, c7, c8, i7 c8l, c9l, i8l c6, c7, c8, i7 ep4ce115????? c8l, c9l, i8l c7, c8, i7 c8l, c9l, i8l c7, c8, i7 notes to table 1?6 : (1) c8l, c9l, and i8l speed grades are applicable for the 1.0-v core voltage. (2) c6, c7, c8, i7, and a7 speed grades are applicable for the 1.2-v core voltage.
1?8 chapter 1: cyclone iv fpga device family overview cyclone iv device family architecture cyclone iv device handbook, volume 1 ? december 2010 altera corporation cyclone iv device family architecture this section describes cyclone iv device architecture and contains the following topics: ?fpga core fabric? ?i/o features? ?clock management? ?external memory interfaces? ?configuration? ?high-speed transceivers (cyclone iv gx devices only)? ?hard ip for pci express (cyclone iv gx devices only)? fpga core fabric cyclone iv devices leverage the same core fabric as the very successful cyclone series devices. the fabric consists of les, made of 4-input look up tables (luts), memory blocks, and multipliers. each cyclone iv device m9k memory block provides 9 kbits of embedded sram memory. you can configure the m9k blocks as single port, simple dual port, or true dual port ram, as well as fifo buffers or rom. they can also be configured to implement any of the data widths in ta b l e 1? 7 . the multiplier architecture in cyclone iv devices is the same as in the existing cyclone series devices. the embedded multiplier blocks can implement an 18 18 or two 9 9 multipliers in a single block. altera offers a complete suite of dsp ip including finite impulse response (fir), fast fourier transform (fft), and numerically controlled oscillator (nco) functions for use with the multiplier blocks. the quartus ? ii design software?s dsp builder tool integrates mathworks simulink and matlab design environments for a streamlined dsp design flow. f for more information, refer to the logic elements and logic array blocks in cyclone iv devices , memory blocks in cyclone iv devices , and embedded multipliers in cyclone iv devices chapters. table 1?7. m9k block data widths for cyclone iv device family mode data width configurations single port or simple dual port 1, 2, 4, 8/9, 16/18, and 32/36 true dual port 1, 2, 4, 8/9, and 16/18
chapter 1: cyclone iv fpga device family overview 1?9 cyclone iv device family architecture ? december 2010 altera corporation cyclone iv device handbook, volume 1 i/o features cyclone iv device i/o supports programmable bus hold, programmable pull-up resistors, programmable delay, programmable drive strength, programmable slew-rate control to optimize signal integrity, and hot socketing. cyclone iv devices support calibrated on-chip series termination (rs oct) or driver impedance matching (rs) for single-ended i/o standards. in cyclone iv gx devices, the high-speed transceiver i/os are located on the left side of the device. the top, bottom, and right sides can implement general-purpose user i/os. ta b l e 1 ?8 lists the i/o standards that cyclone iv devices support. the lvds serdes is implemented in the core of the device using logic elements. f for more information, refer to the i/o features in cyclone iv devices chapter. clock management cyclone iv devices include up to 30 global clock (gclk) networks and up to eight plls with five outputs per pll to provide robust clock management and synthesis. you can dynamically reconfigure cyclone iv device plls in user mode to change the clock frequency or phase. cyclone iv gx devices support two types of plls: multipurpose plls and general- purpose plls: use multipurpose plls for clocking the transceiver blocks. you can also use them for general-purpose clocking when they are not used for transceiver clocking. use general purpose plls for general-purpose applications in the fabric and periphery, such as external memory interfaces. some of the general purpose plls can support transceiver clocking. f for more information, refer to the clock networks and plls in cyclone iv devices chapter. external memory interfaces cyclone iv devices support sdr, ddr, ddr2 sdram, and qdrii sram interfaces on the top, bottom, and right sides of the device. cyclone iv e devices also support these interfaces on the left side of the device. interfaces may span two or more sides of the device to allow more flexible board design. the altera ? ddr sdram memory interface solution consists of a phy interface and a memory controller. altera supplies the phy ip and you can use it in conjunction with your own custom memory controller or an altera-provided memory controller. cyclone iv devices support the use of error correction coding (ecc) bits on ddr and ddr2 sdram interfaces. table 1?8. i/o standards support for the cyclone iv device family type i/o standard single-ended i/o lvttl, lvcmos, sstl, hstl, pci, and pci-x differential i/o sstl, hstl, lvpecl, blvds, lvds, mini-lvds, rsds, and ppds
1?10 chapter 1: cyclone iv fpga device family overview cyclone iv device family architecture cyclone iv device handbook, volume 1 ? december 2010 altera corporation f for more information, refer to the external memory interfaces in cyclone iv devices chapter. configuration cyclone iv devices use sram cells to store configuration data. configuration data is downloaded to the cyclone iv device each time the device powers up. low-cost configuration options include the altera epcs family serial flash devices and commodity parallel flash configuration options. these options provide the flexibility for general-purpose applications and the ability to meet specific configuration and wake-up time requirements of the applications. ta b l e 1 ?9 lists which configuration schemes are supported by cyclone iv devices. ieee 1149.6 (ac jtag) is supported on all transceiver i/o pins. all other pins support ieee 1149.1 (jtag) for boundary scan testing. f for more information, refer to the jtag boundary-scan testing for cyclone iv devices chapter. for cyclone iv gx devices to meet the pcie 100 ms wake-up time requirement, you must use passive serial (ps) configuration mode for the ep4cgx15/22/30 devices and use fast passive parallel (fpp) configuration mode for the ep4cgx30f484 and ep4cgx50/75/110/150 devices. f for more information, refer to the configuration and remote system upgrades in cyclone iv devices chapter. the cyclical redundancy check (crc) error detection feature during user mode is supported in all cyclone iv gx devices. for cyclone iv e devices, this feature is only supported for the devices with the core voltage of 1.2 v. f for more information about crc error detection, refer to the seu mitigation in cyclone iv devices chapter. table 1?9. configuration schemes for cyclone iv device family devices supported configuration scheme cyclone iv gx as, ps, jtag, and fpp (1) cyclone iv e as, ap, ps, fpp, and jtag note to table 1?9 : (1) the fpp configuration scheme is only supported by the ep4cgx30f484 and ep4cgx50/75/110/150 devices.
chapter 1: cyclone iv fpga device family overview 1?11 cyclone iv device family architecture ? december 2010 altera corporation cyclone iv device handbook, volume 1 high-speed transceivers (cyclone iv gx devices only) cyclone iv gx devices contain up to eight full duplex high-speed transceivers that can operate independently. these blocks support multiple industry-standard communication protocols, as well as basic mode, which you can use to implement your own proprietary protocols. each transceiver channel has its own pre-emphasis and equalization circuitry, which you can set at compile time to optimize signal integrity and reduce bit error rates. transceiver blocks also support dynamic reconfiguration, allowing you to change data rates and protocols on-the-fly. figure 1?1 shows the structure of the cyclone iv gx transceiver. f for more information, refer to the cyclone iv transceivers architecture chapter. hard ip for pci express (cyclone iv gx devices only) cyclone iv gx devices incorporate a single hard ip block for 1, 2, or 4 pcie (pipe) in each device. this hard ip block is a complete pcie (pipe) protocol solution that implements the phy-mac layer, data link layer, and transaction layer functionality. the hard ip for the pcie (pipe) block supports root-port and end-point configurations. this pre-verified hard ip block reduces risk, design time, timing closure, and verification. you can configure the block with the quartus ii software?s pci express compiler, which guides you through the process step by step. f for more information, refer to the pci express compiler user guide . figure 1?1. transceiver channel for the cyclone iv gx device rx phase compensation fifo tx phase compensation fifo byte ordering byte deserializer byte serializer 8b10b decoder 8b10b encoder rate match fifo receive r channel pcs receive r channel pma word aligner rx_datain deserializer cdr t r ansmi tt e r channel pcs t r ansceive r channel pma tx_dataout serializer pci exp r ess ha r d ip fpga fab r ic pipe in t e r face
1?12 chapter 1: cyclone iv fpga device family overview reference and ordering information cyclone iv device handbook, volume 1 ? december 2010 altera corporation reference and ordering information figure 1?2 shows the ordering codes for cyclone iv gx devices. figure 1?2. packaging ordering information for the cyclone iv gx device ep4cgx family signature device density ep4cgx 15, 22, 30, 50, 75 110, 150 b: 2 c: 4 d: 8 n: quad flat pack no lead (qfn) f: fineline bga (fbga) transceiver count package type optional suffix speed grade indicates specific device shipment method es: engineering sample n: lead-free devices 6, 7, or 8 with 6 being the fastest c: commercial temperature (t j = 0 c to 85 c) i: industrial temperature (t j = -40 c to 100 c) 11 = 148 pins 14 = 169 pins 19 = 324 pins 23 = 484 pins 27 = 672 pins 31 = 896 pins operating temperature package 30 cf 19 c 7n
chapter 1: cyclone iv fpga device family overview 1?13 document revision history ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 1?3 shows the ordering codes for cyclone iv e devices. document revision history ta b l e 1 ?1 0 lists the revision history for this chapter. figure 1?3. packaging ordering information for the cyclone iv e device ep4ce family signature device density ep4ce 6, 10, 15, 22, 30, 40, 55, 75, 115 f: fineline bga (fbga) e: enhanced thin quad flat pack u: ultra fineline bga (ubga) m: micro fineline bga (mbga) package type optional suffix speed grade indicates specific device shipment method n: lead-free devices es: engineering sample l: low-voltage devices 6, 7, 8 or 9 with 6 being the fastest c: commercial temperature (t j = 0 c to 85 c) i: industrial temperature (t j = -40 c to 100 c) a: automotive temperature (t j = -40 c to 125 c) 8 = 164 pins 17 = 256 pins 22 = 144 pins 23 = 484 pins 29 = 780 pins operating temperature package 40 f 29 c 8 n table 1?10. document revision history date version changes made december 2010 1.4 updated for the quartus ii software version 10.1 release. added cyclone iv e new device package information. updated table 1?1 , table 1?2 , table 1?3 , table 1?5 , and table 1?6 . updated figure 1?3 . minor text edits. july 2010 1.3 updated table 1?2 to include f484 package information. march 2010 1.2 updated table 1?3 and table 1?6. updated figure 1?3. minor text edits. february 2010 1.1 added cyclone iv e devices in table 1?1, table 1?3, and table 1?6 for the quartus ii software version 9.1 sp1 release. added the ?cyclone iv device family speed grades? and ?configuration? sections. added figure 1?3 to include cyclone iv e device packaging ordering information. updated table 1?2, table 1?4, and table 1?5 for cyclone iv gx devices. minor text edits. november 2009 1.0 initial release.
1?14 chapter 1: cyclone iv fpga device family overview document revision history cyclone iv device handbook, volume 1 ? december 2010 altera corporation
? november 2009 altera corporation cyclone iv device handbook, volume 1 2. logic elements and logic array blocks in cyclone iv devices this chapter contains feature definitions for logic elements (les) and logic array blocks (labs). details are provided on how les work, how labs contain groups of les, and how labs interface with the other blocks in cyclone ? iv devices. logic elements logic elements (les) are the smallest units of logic in the cyclone iv device architecture. les are compact and provide advanced features with efficient logic usage. each le has the following features: a four-input look-up table (lut), which can implement any function of four variables a programmable register a carry chain connection a register chain connection the ability to drive the following interconnects: local row column register chain direct link register packing support register feedback support cyiv-51002-1.0
2?2 chapter 2: logic elements and logic array blocks in cyclone iv devices logic elements cyclone iv device handbook, volume 1 ? november 2009 altera corporation figure 2?1 shows the les for cyclone iv devices. le features you can configure the programmable register of each le for d, t, jk, or sr flipflop operation. each register has data, clock, clock enable, and clear inputs. signals that use the global clock network, general-purpose i/o pins, or any internal logic can drive the clock and clear control signals of the register. either general-purpose i/o pins or the internal logic can drive the clock enable. for combinational functions, the lut output bypasses the register and drives directly to the le outputs. each le has three outputs that drive the local, row, and column routing resources. the lut or register output independently drives these three outputs. two le outputs drive the column or row and direct link routing connections, while one le drives the local interconnect resources. this allows the lut to drive one output while the register drives another output. this feature, called register packing, improves device utilization because the device can use the register and the lut for unrelated functions. the lab-wide synchronous load control signal is not available when using register packing. for more information about the synchronous load control signal, refer to ?lab control signals? on page 2?6 . the register feedback mode allows the register output to feed back into the lut of the same le to ensure that the register is packed with its own fan-out lut, providing another mechanism for improved fitting. the le can also drive out registered and unregistered versions of the lut output. figure 2?1. cyclone iv device les ro w , col u mn, and direct link ro u ting data 1 data 2 data 3 data 4 la b clr1 la b clr2 chip- w ide reset (dev_clrn) la b clk1 la b clk2 la b clkena1 la b clkena2 le carry-in lab- w ide synchrono u s load lab- w ide synchrono u s clear ro w , col u mn, and direct link ro u ting local ro u ting register chain o u tp u t register bypass programmable register register chain ro u ting from pre v io u s le le carry-o u t register feedback synchrono u s load and clear logic carry chain look-up ta b le (lut) asynchrono u s clear logic clock & clock ena b le select d q e n a clr n
chapter 2: logic elements and logic array blocks in cyclone iv devices 2?3 le operating modes ? november 2009 altera corporation cyclone iv device handbook, volume 1 in addition to the three general routing outputs, les in an lab have register chain outputs, which allows registers in the same lab to cascade together. the register chain output allows the luts to be used for combinational functions and the registers to be used for an unrelated shift register implementation. these resources speed up connections between labs while saving local interconnect resources. le operating modes cyclone iv les operate in the following modes: normal mode arithmetic mode the quartus ? ii software automatically chooses the appropriate mode for common functions, such as counters, adders, subtractors, and arithmetic functions, in conjunction with parameterized functions such as the library of parameterized modules (lpm) functions. you can also create special-purpose functions that specify which le operating mode to use for optimal performance, if required. normal mode normal mode is suitable for general logic applications and combinational functions. in normal mode, four data inputs from the lab local interconnect are inputs to a four-input lut ( figure 2?2 ). the quartus ii compiler automatically selects the carry-in ( cin ) or the data3 signal as one of the inputs to the lut. les in normal mode support packed registers and register feedback. figure 2?2 shows les in normal mode. figure 2?2. cyclone iv device les in normal mode data1 four-input lut data2 data3 cin (from cout of previous le) data4 clock (lab wide) ena (lab wide) aclr (lab wide) clrn d q ena sclear (lab wide) sload (lab wide) register chain connection register chain output row, column, and direct link routing row, column, and direct link routing local routing register bypass packed register input register feedback
2?4 chapter 2: logic elements and logic array blocks in cyclone iv devices logic array blocks cyclone iv device handbook, volume 1 ? november 2009 altera corporation arithmetic mode arithmetic mode is ideal for implementing adders, counters, accumulators, and comparators. an le in arithmetic mode implements a 2-bit full adder and basic carry chain ( figure 2?3 ). les in arithmetic mode can drive out registered and unregistered versions of the lut output. register feedback and register packing are supported when les are used in arithmetic mode. figure 2?3 shows les in arithmetic mode. the quartus ii compiler automatically creates carry chain logic during design processing. you can also manually create the carry chain logic during design entry. parameterized functions, such as lpm functions, automatically take advantage of carry chains for the appropriate functions. the quartus ii compiler creates carry chains longer than 16 les by automatically linking labs in the same column. for enhanced fitting, a long carry chain runs vertically, which allows fast horizontal connections to m9k memory blocks or embedded multipliers through direct link interconnects. for example, if a design has a long carry chain in an lab column next to a column of m9k memory blocks, any le output can feed an adjacent m9k memory block through the direct link interconnect. if the carry chains run horizontally, any lab which is not next to the column of m9k memory blocks uses other row or column interconnects to drive a m9k memory block. a carry chain continues as far as a full column. logic array blocks logic array blocks (labs) contain groups of les. topology each lab consists of the following features: 16 les figure 2?3. cyclone iv device les in arithmetic mode clock (lab wide) ena (lab wide) aclr (lab wide) clrn d q ena sclear (lab wide) sload (lab wide) register chain output row, column, and direct link routing row, column, and direct link routing local routing register feedback three-input lut three-input lut cin (from cout of previous le) data2 data1 cout register bypass data4 data3 register chain connection packed register input
chapter 2: logic elements and logic array blocks in cyclone iv devices 2?5 logic array blocks ? november 2009 altera corporation cyclone iv device handbook, volume 1 lab control signals le carry chains register chains local interconnect the local interconnect transfers signals between les in the same lab. register chain connections transfer the output of one le register to the adjacent le register in an lab. the quartus ii compiler places associated logic in an lab or adjacent labs, allowing the use of local and register chain connections for performance and area efficiency. figure 2?4 shows the lab structure for cyclone iv devices. lab interconnects the lab local interconnect is driven by column and row interconnects and le outputs in the same lab. neighboring labs, phase-locked loops (plls), m9k ram blocks, and embedded multipliers from the left and right can also drive the local interconnect of a lab through the direct link connection. the direct link connection feature minimizes the use of row and column interconnects, providing higher performance and flexibility. each le can drive up to 48 les through fast local and direct link interconnects. figure 2?4. cyclone iv device lab structure direct link interconnect from adjacent b lock direct link interconnect to adjacent b lock row interconnect column interconnect local interconnect lab direct link interconnect from adjacent b lock direct link interconnect to adjacent b lock
2?6 chapter 2: logic elements and logic array blocks in cyclone iv devices lab control signals cyclone iv device handbook, volume 1 ? november 2009 altera corporation figure 2?5 shows the direct link connection. lab control signals each lab contains dedicated logic for driving control signals to its les. the control signals include: two cl ocks two cl ock en abl es two asy nch ronous clears one synchronous clear one synchronous load you can use up to eight control signals at a time. register packing and synchronous load cannot be used simultaneously. each lab can have up to four non-global control signals. you can use additional lab control signals as long as they are global signals. synchronous clear and load signals are useful for implementing counters and other functions. the synchronous clear and synchronous load signals are lab-wide signals that affect all registers in the lab. each lab can use two clocks and two clock enable signals. the clock and clock enable signals of each lab are linked. for example, any le in a particular lab using the labclk1 signal also uses the labclkena1 . if the lab uses both the rising and falling edges of a clock, it also uses both lab-wide clock signals. deasserting the clock enable signal turns off the lab-wide clock. the lab row clocks [5..0] and lab local interconnect generate the lab-wide control signals. the multitrack interconnect inherent low skew allows clock and control signal distribution in addition to data distribution. figure 2?5. cyclone iv device direct link connection lab direct link interconnect to right direct link interconnect from right lab, m9k memory b lock, em b edded m u ltiplier, pll, or ioe o u tp u t direct link interconnect from left lab, m9k memory b lock, em b edded m u ltiplier, pll, or ioe o u tp u t local interconnect direct link interconnect to left
chapter 2: logic elements and logic array blocks in cyclone iv devices 2?7 document revision history ? november 2009 altera corporation cyclone iv device handbook, volume 1 figure 2?6 shows the lab control signal generation circuit. lab-wide signals control the logic for the clear signal of the register. the le directly supports an asynchronous clear function. each lab supports up to two asynchronous clear signals ( labclr1 and labclr2 ). a lab-wide asynchronous load signal to control the logic for the preset signal of the register is not available. the register preset is achieved with a not gate push-back technique. cyclone iv devices only support either a preset or asynchronous clear signal . in addition to the clear port, cyclone iv devices provide a chip-wide reset pin ( dev_clrn ) that resets all registers in the device. an option set before compilation in the quartus ii software controls this pin. this chip-wide reset overrides all other control signals. document revision history ta b l e 2 ?1 shows the revision history for this chapter. figure 2?6. cyclone iv device lab-wide control signals labclkena1 labclk2 labclk1 labclkena2 labclr1 dedicated lab row clocks local interconnect local interconnect local interconnect local interconnect syncload synclr labclr2 6 table 2?1. document revision history date version changes made november 2009 1.0 initial release.
2?8 chapter 2: logic elements and logic array blocks in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? november 2009 altera corporation
? november 2009 altera corporation cyclone iv device handbook, volume 1 3. memory blocks in cyclone iv devices cyclone ? iv devices feature embedded memory structures to address the on-chip memory needs of altera ? cyclone iv device designs. the embedded memory structure consists of columns of m9k memory blocks that you can configure to provide various memory functions, such as ram, shift registers, rom, and fifo buffers. this chapter contains the following sections: ?memory modes? on page 3?7 ?clocking modes? on page 3?14 ?design considerations? on page 3?15 overview m9k blocks support the following features: 8,192 memory bits per block (9,216 bits per block including parity) independent read-enable ( rden ) and write-enable ( wren ) signals for each port packed mode in which the m9k memory block is split into two 4.5 k single-port rams variable port configurations single-port and simple dual-port modes support for all port widths true dual-port (one read and one write, two reads, or two writes) operation byte enables for data input masking during writes two clock-enable control signals for each port (port a and port b) initialization file to pre-load memory content in ram and rom modes cyiv-51003-1.0
3?2 chapter 3: memory blocks in cyclone iv devices overview cyclone iv device handbook, volume 1 ? november 2009 altera corporation ta b l e 3 ?1 lists the features supported by the m9k memory. f for information about the number of m9k memory blocks for cyclone iv devices, refer to the cyclone iv device family overview chapter in volume 1 of the cyclone iv device handbook . table 3?1. summary of m9k memory features feature m9k blocks configurations (depth width) 8192 1 4096 2 2048 4 1024 8 1024 9 512 16 512 18 256 32 256 36 parity bits v byte enable v packed mode v address clock enable v single-port mode v simple dual-port mode v true dual-port mode v embedded shift register mode (1) v rom mode v fifo buffer (1) v simple dual-port mixed width support v true dual-port mixed width support (2) v memory initialization file ( .mif ) v mixed-clock mode v power-up condition outputs cleared register asynchronous clears read address registers and output registers only latch asynchronous clears output latches only write or read operation triggering write and read: rising clock edges same-port read-during-write outputs set to old data or new data mixed-port read-during-write outputs set to old data or don?t care notes to table 3?1 : (1) fifo buffers and embedded shift registers that require external logic elements (les) for implementing control logic. (2) width modes of 32 and 36 are not available.
chapter 3: memory blocks in cyclone iv devices 3?3 overview ? november 2009 altera corporation cyclone iv device handbook, volume 1 control signals the clock-enable control signal controls the clock entering the input and output registers and the entire m9k memory block. this signal disables the clock so that the m9k memory block does not see any clock edges and does not perform any operations. the rden and wren control signals control the read and write operations for each port of m9k memory blocks. you can disable the rden or wren signals independently to save power whenever the operation is not required. parity bit support parity checking for error detection is possible with the parity bit along with internal logic resources. cyclone iv devices m9k memory blocks support a parity bit for each storage byte. you can use this bit as either a parity bit or as an additional data bit. no parity function is actually performed on this bit. byte enable support cyclone iv devices m9k memory blocks support byte enables that mask the input data so that only specific bytes of data are written. the unwritten bytes retain the previous written value. the wren signals, along with the byte-enable ( byteena ) signals, control the write operations of the ram block. the default value of the byteena signals is high (enabled), in which case writing is controlled only by the wren signals. there is no clear port to the byteena registers. m9k blocks support byte enables when the write port has a data width of 16, 18, 32, or 36 bits. byte enables operate in one-hot manner, with the lsb of the byteena signal corresponding to the least significant byte of the data bus. for example, if byteena = 01 and you are using a ram block in 18 mode, data[8..0] is enabled and data[17..9] is disabled. similarly, if byteena = 11 , both data[8..0] and data[17..9] are enabled. byte enables are active high. ta b l e 3 ?2 lists the byte selection. table 3?2. byteena for cyclone iv devices m9k blocks (note 1) byteena[3..0] affected bytes datain 16 datain 18 datain 32 datain 36 [0] = 1 [7..0] [8..0] [7..0] [8..0] [1] = 1 [15..8] [17..9] [15..8] [17..9] [2] = 1 ? ? [23..16] [26..18] [3] = 1 ? ? [31..24] [35..27] note to table 3?2 : (1) any combination of byte enables is possible.
3?4 chapter 3: memory blocks in cyclone iv devices overview cyclone iv device handbook, volume 1 ? november 2009 altera corporation figure 3?1 shows how the wren and byteena signals control the ram operations. when a byteena bit is deasserted during a write cycle, the old data in the memory appears in the corresponding data-byte output. when a byteena bit is asserted during a write cycle, the corresponding data-byte output depends on the setting chosen in the quartus ? ii software. the setting can either be the newly written data or the old data at that location. packed mode support cyclone iv devices m9k memory blocks support packed mode. you can implement two single-port memory blocks in a single block under the following conditions: each of the two independent block sizes is less than or equal to half of the m9k block size. the maximum data width for each independent block is 18 bits wide. each of the single-port memory blocks is configured in single-clock mode. for more information about packed mode support, refer to ?single-port mode? on page 3?7 and ?single-clock mode? on page 3?15 . address clock enable support cyclone iv devices m9k memory blocks support an active-low address clock enable, which holds the previous address value for as long as the addressstall signal is high ( addressstall = '1' ). when you configure m9k memory blocks in dual-port mode, each port has its own independent address clock enable. figure 3?2 shows an address clock enable block diagram. the address register output feeds back to its input using a multiplexer. the multiplexer output is selected by the address clock enable ( addressstall ) signal. figure 3?1. cyclone iv devices byteena functional waveform (note 1) note to figure 3?1 : (1) for this functional waveform, new data mode is selected. inclock wren address data q (asynch) an xxxx a0 a1 a2 a0 a1 a2 doutn abff ffcd abcd abff ffcd abcd byteena xx 10 01 11 xxxx xx abcd abcd ffff ffff ffff abff ffcd contents at a0 contents at a1 contents at a2 rden
chapter 3: memory blocks in cyclone iv devices 3?5 overview ? november 2009 altera corporation cyclone iv device handbook, volume 1 the address clock enable is typically used to improve the effectiveness of cache memory applications during a cache-miss. the default value for the address clock enable signals is low. figure 3?3 and figure 3?4 show the address clock enable waveform during read and write cycles, respectively. figure 3?2. cyclone iv devices address clock enable block diagram figure 3?3. cyclone iv devices address clock enable during read cycle waveform address[0] address[ n ] addressstall clock address[0] register address[ n ] register address[ n ] address[0] inclock rden rdaddress q (synch) a0 a1 a2 a3 a4 a5 a6 q (asynch) an a0 a4 a5 latched address (inside memory) dout0 dout1 dout1 dout4 dout1 dout4 dout5 addressstall a1 doutn-1 dout1 doutn doutn dout1 dout0 dout1
3?6 chapter 3: memory blocks in cyclone iv devices overview cyclone iv device handbook, volume 1 ? november 2009 altera corporation mixed-width support m9k memory blocks support mixed data widths. when using simple dual-port, true dual-port, or fifo modes, mixed width support allows you to read and write different data widths to an m9k memory block. for more information about the different widths supported per memory mode, refer to ?memory modes? on page 3?7 . asynchronous clear cyclone iv devices support asynchronous clears for read address registers, output registers, and output latches only. input registers other than read address registers are not supported. when applied to output registers, the asynchronous clear signal clears the output registers and the effects are immediately seen. if your ram does not use output registers, you can still clear the ram outputs using the output latch asynchronous clear feature. 1 asserting asynchronous clear to the read address register during a read operation may corrupt the memory content. figure 3?5 shows the functional waveform for the asynchronous clear feature. figure 3?4. cyclone iv devices address clock enable during write cycle waveform inclock wren wraddress a0 a1 a2 a3 a4 a5 a6 an a0 a4 a5 latched address (inside memory) addressstall a1 data 00 01 02 03 04 05 06 contents at a0 contents at a1 contents at a2 contents at a3 contents at a4 contents at a5 xx 04 xx 00 03 01 xx 02 xx xx xx 05 figure 3?5. output latch asynchronous clear waveform aclr aclr at latch clk q a1 a0 a1 a2
chapter 3: memory blocks in cyclone iv devices 3?7 memory modes ? november 2009 altera corporation cyclone iv device handbook, volume 1 1 you can selectively enable asynchronous clears per logical memory using the quartus ii ram megawizard ? plug-in manager. f for more information, refer to the ram megafunction user guide . there are three ways to reset registers in the m9k blocks: power up the device use the aclr signal for output register only assert the device-wide reset signal using the dev_clrn option memory modes cyclone iv devices m9k memory blocks allow you to implement fully-synchronous sram memory in multiple modes of operation. cyclone iv devices m9k memory blocks do not support asynchronous (unregistered) memory inputs. m9k memory blocks support the following modes: single-port simple dual-port true dual-port shift-register rom fifo 1 violating the setup or hold time on the m9k memory block input registers may corrupt memory contents. this applies to both read and write operations. single-port mode single-port mode supports non-simultaneous read and write operations from a single address. figure 3?6 shows the single-port memory configuration for cyclone iv devices m9k memory blocks. figure 3?6. single-port memory (note 1) , (2) notes to figure 3?6 : (1) you can implement two single-port memory blocks in a single m9k block. (2) for more information, refer to ?packed mode support? on page 3?4 . data[ ] address[ ] wren byteena[] addressstall inclock inclocken rden aclr outclock q[] outclocken
3?8 chapter 3: memory blocks in cyclone iv devices memory modes cyclone iv device handbook, volume 1 ? november 2009 altera corporation during a write operation, the behavior of the ram outputs is configurable. if you activate rden during a write operation, the ram outputs show either the new data being written or the old data at that address. if you perform a write operation with rden deactivated, the ram outputs retain the values they held during the most recent active rden signal. to choose the desired behavior, set the read-during-write option to either new data or old data in the ram megawizard plug-in manager in the quartus ii software. for more information about read-during-write mode, refer to ?read-during-write operations? on page 3?15 . the port width configurations for m9k blocks in single-port mode are as follow: 8192 1 4096 2 2048 4 1024 8 1024 9 512 16 512 18 256 32 256 36 figure 3?7 shows a timing waveform for read and write operations in single-port mode with unregistered outputs. registering the outputs of the ram simply delays the q output by one clock cycle. figure 3?7. cyclone iv devices single-port mode timing waveform clk_a w ren_a address_a data_a rden_a q _a (old data) a0 a1 ab c d ef a0(old data) a1(old data) ab d e q _a (ne w data) ad bc e f
chapter 3: memory blocks in cyclone iv devices 3?9 memory modes ? november 2009 altera corporation cyclone iv device handbook, volume 1 simple dual-port mode simple dual-port mode supports simultaneous read and write operations to different locations. figure 3?8 shows the simple dual-port memory configuration. cyclone iv devices m9k memory blocks support mixed-width configurations, allowing different read and write port widths. table 3?3 lists mixed-width configurations. in simple dual-port mode, m9k memory blocks support separate wren and rden signals. you can save power by keeping the rden signal low (inactive) when not reading. read-during-write operations to the same address can either output ?don?t care? data at that location or output ?old data?. to choose the desired behavior, set the read-during-write option to either don?t care or old data in the ram megawizard plug-in manager in the quartus ii software. for more information about this behavior, refer to ?read-during-write operations? on page 3?15 . figure 3?8. cyclone iv devices simple dual-port memory (note 1) note to figure 3?8 : (1) simple dual-port ram supports input or output clock mode in addition to the read or write clock mode shown. data[ ] wraddress[ ] wren byteena[] wr_addressstall wrclock wrclocken aclr rdaddress[ ] rden q[ ] rd_addressstall rdclock rdclocken table 3?3. cyclone iv devices m9k block mixed-width configurations (simple dual-port mode) read port write port 8192 1 4096 2 2048 41024 8 512 16 256 32 1024 9 512 18 256 36 8192 1 vvvvvv ??? 4096 2 vvvvvv ??? 2048 4 vvvvvv ??? 1024 8 vvvvvv ??? 512 16 vvvvvv ??? 256 32 vvvvvv ??? 1024 9 ? ? ? ? ? ? vvv 51218?????? vvv 25636?????? vvv
3?10 chapter 3: memory blocks in cyclone iv devices memory modes cyclone iv device handbook, volume 1 ? november 2009 altera corporation figure 3?9 shows the timing waveform for read and write operations in simple dual-port mode with unregistered outputs. registering the outputs of the ram simply delays the q output by one clock cycle. true dual-port mode true dual-port mode supports any combination of two-port operations: two reads, two writes, or one read and one write, at two different clock frequencies. figure 3?10 shows cyclone iv devices true dual-port memory configuration. 1 the widest bit configuration of the m9k blocks in true dual-port mode is 512 16-bit (18-bit with parity). figure 3?9. cyclone iv devices simple dual-port timing waveform wrclock wren wraddress rdclock an-1 an a0 a1 a2 a3 a4 a5 a6 q (asynch) rden rdaddress bn b0 b1 b2 b3 doutn-1 doutn dout0 din-1 din din4 din5 din6 data figure 3?10. cyclone iv devices true dual-port memory (note 1) note to figure 3?10 : (1) true dual-port memory supports input or output clock mode in addition to the independent clock mode shown. data_a[ ] address_a[ ] wren_a byteena_a[] addressstall_a clock_a clocken_a rden_a aclr_a q_a[] data_b[ ] address_b[] wren_b byteena_b[] addressstall_b clock_b clocken_b rden_b aclr_b q_b[]
chapter 3: memory blocks in cyclone iv devices 3?11 memory modes ? november 2009 altera corporation cyclone iv device handbook, volume 1 ta b l e 3 ?4 lists the possible m9k block mixed-port width configurations. in true dual-port mode, m9k memory blocks support separate wren and rden signals. you can save power by keeping the rden signal low (inactive) when not reading. read-during-write operations to the same address can either output ?new data? at that location or ?old data?. to choose the desired behavior, set the read-during-write option to either new data or old data in the ram megawizard plug-in manager in the quartus ii software. for more information about this behavior, refer to ?read-during-write operations? on page 3?15 . in true dual-port mode, you can access any memory location at any time from either port a or port b. however, when accessing the same memory location from both ports, you must avoid possible write conflicts. when you attempt to write to the same address location from both ports at the same time, a write conflict happens. this results in unknown data being stored to that address location. there is no conflict resolution circuitry built into the cyclone iv devices m9k memory blocks. you must handle address conflicts external to the ram block. figure 3?11 shows true dual-port timing waveforms for the write operation at port a and read operation at port b. registering the outputs of the ram simply delays the q outputs by one clock cycle. table 3?4. cyclone iv devices m9k block mixed-widt h configurations (true dual-port mode) read port write port 8192 1 4096 2 2048 4 1024 8512 16 1024 9 512 18 8192 1 vvvvv ?? 4096 2 vvvvv ?? 2048 4 vvvvv ?? 1024 8 vvvvv ?? 512 16 vvvvv ?? 1024 9????? vv 512 18????? vv
3?12 chapter 3: memory blocks in cyclone iv devices memory modes cyclone iv device handbook, volume 1 ? november 2009 altera corporation shift register mode cyclone iv devices m9k memory blocks can implement shift registers for digital signal processing (dsp) applications, such as finite impulse response (fir) filters, pseudo-random number generators, multi-channel filtering, and auto-correlation and cross-correlation functions. these and other dsp applications require local data storage, traditionally implemented with standard flipflops that quickly exhaust many logic cells for large shift registers. a more efficient alternative is to use embedded memory as a shift register block, which saves logic cell and routing resources. the size of a ( w mn ) shift register is determined by the input data width ( w ), the length of the taps ( m) , and the number of taps ( n ), and must be less than or equal to the maximum number of memory bits, which is 9,216 bits. in addition, the size of ( wn ) must be less than or equal to the maximum width of the block, which is 36 bits. if you need a larger shift register, you can cascade the m9k memory blocks. figure 3?11. cyclone iv devices true dual-port timing waveform clk_a wren_a address_a clk_b an-1 an a0 a1 a2 a3 a4 a5 a6 q_b (asynch) wren_b address_b bn b0 b1 b2 b3 doutn-1 doutn dout0 q_a (asynch) din-1 din din4 din5 din6 data_a din-1 din dout0 dout1 dout2 dout3 din4 din5 dout2 dout1 rden_a rden_b
chapter 3: memory blocks in cyclone iv devices 3?13 memory modes ? november 2009 altera corporation cyclone iv device handbook, volume 1 figure 3?12 shows the cyclone iv devices m9k memory block in shift register mode. rom mode cyclone iv devices m9k memory blocks support rom mode. a .mif initializes the rom contents of these blocks. the address lines of the rom are registered. the outputs can be registered or unregistered. the rom read operation is identical to the read operation in the single-port ram configuration. fifo buffer mode cyclone iv devices m9k memory blocks support single-clock or dual-clock fifo buffers. dual clock fifo buffers are useful when transferring data from one clock domain to another clock domain. cyclone iv devices m9k memory blocks do not support simultaneous read and write from an empty fifo buffer. f for more information about fifo buffers, refer to the single- and dual-clock fifo megafunction user guide . figure 3?12. cyclone iv devices shift register mode configuration w w m n shift register m-bit shift register m-bit shift register m-bit shift register m-bit shift register w w w w w w w n number of tap s
3?14 chapter 3: memory blocks in cyclone iv devices clocking modes cyclone iv device handbook, volume 1 ? november 2009 altera corporation clocking modes cyclone iv devices m9k memory blocks support the following clocking modes: independent input or output read or write single-clock when using read or write clock mode, if you perform a simultaneous read or write to the same address location, the output read data is unknown. if you require the output data to be a known value, use either single-clock mode or i/o clock mode and choose the appropriate read-during-write behavior in the megawizard plug-in manager. 1 violating the setup or hold time on the memory block input registers might corrupt the memory contents. this applies to both read and write operations. 1 asynchronous clears are available on read address registers, output registers, and output latches only. ta b l e 3 ?5 lists the clocking mode versus memory mode support matrix. independent clock mode cyclone iv devices m9k memory blocks can implement independent clock mode for true dual-port memories. in this mode, a separate clock is available for each port (port a and port b). clock a controls all registers on the port a side, while clock b controls all registers on the port b side. each port also supports independent clock enables for port a and b registers. input or output clock mode cyclone iv devices m9k memory blocks can implement input or output clock mode for fifo, single-port, true, and simple dual-port memories. in this mode, an input clock controls all input registers to the memory block including data, address, byteena , wren , and rden registers. an output clock controls the data-output registers. each memory block port also supports independent clock enables for input and output registers. table 3?5. cyclone iv devices memory clock modes clocking mode true dual-port mode simple dual-port mode single-port mode rom mode fifo mode independent v ?? v ? input or output vvvv ? read or write ? v ?? v single-clock vvvvv
chapter 3: memory blocks in cyclone iv devices 3?15 design considerations ? november 2009 altera corporation cyclone iv device handbook, volume 1 read or write clock mode cyclone iv devices m9k memory blocks can implement read or write clock mode for fifo and simple dual-port memories. in this mode, a write clock controls the data inputs, write address, and wren registers. similarly, a read clock controls the data outputs, read address, and rden registers. m9k memory blocks support independent clock enables for both the read and write clocks. when using read or write mode, if you perform a simultaneous read or write to the same address location, the output read data is unknown. if you require the output data to be a known value, use either single-clock mode, input clock mode, or output clock mode and choose the appropriate read-during-write behavior in the megawizard plug-in manager. single-clock mode cyclone iv devices m9k memory blocks can implement single-clock mode for fifo, rom, true dual-port, simple dual-port, and single-port memories. in this mode, you can control all registers of the m9k memory block with a single clock together with clock enable. design considerations this section describes designing with m9k memory blocks. read-during-write operations ?same-port read-during-write mode? on page 3?16 and ?mixed-port read-during- write mode? on page 3?17 describe the functionality of the various ram configurations when reading from an address during a write operation at that same address. there are two read-during-write data flows: same-port and mixed-port. figure 3?13 shows the difference between these flows. figure 3?13. cyclone iv devices read-during-write data flow port a data in port b data in port a data o u t port b data o u t mixed-port data flo w same-port data flo w w rite_a read_a read_ b w rite_ b
3?16 chapter 3: memory blocks in cyclone iv devices design considerations cyclone iv device handbook, volume 1 ? november 2009 altera corporation same-port read-during-write mode this mode applies to a single-port ram or the same port of a true dual-port ram. in the same port read-during-write mode, there are two output choices: new data mode (or flow-through) and old data mode. in new data mode, new data is available on the rising edge of the same clock cycle on which it was written. in old data mode, the ram outputs reflect the old data at that address before the write operation proceeds. when using new data mode together with byteena , you can control the output of the ram. when byteena is high, the data written into the memory passes to the output (flow-through). when byteena is low, the masked-off data is not written into the memory and the old data in the memory appears on the outputs. therefore, the output can be a combination of new and old data determined by byteena . figure 3?14 and figure 3?15 show sample functional waveforms of same port read-during-write behavior with both new data and old data modes, respectively. figure 3?14. same port read-during write: new data mode figure 3?15. same port read-during-write: old data mode clk_a w ren_a address_a data_a rden_a q _a (asynch) a0 a1 ab c d ef ab c d e f clk_a w ren_a address_a data_a rden_a q _a (asynch) a0 a1 ab c d ef a0(old data) a1(old data) ab d e
chapter 3: memory blocks in cyclone iv devices 3?17 design considerations ? november 2009 altera corporation cyclone iv device handbook, volume 1 mixed-port read-during-write mode this mode applies to a ram in simple or true dual-port mode, which has one port reading and the other port writing to the same address location with the same clock. in this mode, you also have two output choices: old data mode or don't care mode. in old data mode, a read-during-write operation to different ports causes the ram outputs to reflect the old data at that address location. in don't care mode, the same operation results in a ?don't care? or unknown value on the ram outputs. f for more information about how to implement the desired behavior, refer to the ram megafunction user guide . figure 3?16 shows a sample functional waveform of mixed port read-during-write behavior for old data mode. in don't care mode, the old data is replaced with ?don't care?. 1 for mixed-port read-during-write operation with dual clocks, the relationship between the clocks determines the output behavior of the memory. if you use the same clock for the two clocks, the output is the old data from the address location. however, if you use different clocks, the output is unknown during the mixed-port read-during-write operation. this unknown value may be the old or new data at the address location, depending on whether the read happens before or after the write. conflict resolution when you are using m9k memory blocks in true dual-port mode, it is possible to attempt two write operations to the same memory location (address). because there is no conflict resolution circuitry built into m9k memory blocks, this results in unknown data being written to that location. therefore, you must implement conflict-resolution logic external to the m9k memory block. figure 3?16. mixed port read-during-write: old data mode a b a (old data) b (old data) clk_a& b w ren_a address_a q _ b (asynch) rden_ b a b address_ b data_a ab c d ef a b de
3?18 chapter 3: memory blocks in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? november 2009 altera corporation power-up conditions and memory initialization the m9k memory block outputs of cyclone iv devices power up to zero (cleared) regardless of whether the output registers are used or bypassed. all m9k memory blocks support initialization using a .mif . you can create .mif s in the quartus ii software and specify their use using the ram megawizard plug-in manager when instantiating memory in your design. even if memory is pre-initialized (for example, using a .mif ), it still powers up with its outputs cleared. only the subsequent read after power up outputs the pre-initialized values. f for more information about .mif s, refer to the ram megafunction user guide and the quartus ii handbook . power management the m9k memory block clock enables of cyclone iv devices allow you to control clocking of each m9k memory block to reduce ac power consumption. use the rden signal to ensure that read operations only occur when necessary. if your design does not require read-during-write, reduce power consumption by deasserting the rden signal during write operations or any period when there are no memory operations. the quartus ii software automatically powers down any unused m9k memory blocks to save static power. document revision history ta b l e 3 ?6 shows the revision history for this chapter. table 3?6. document revision history date version changes made november 2009 1.0 initial release.
? february 2010 altera corporation cyclone iv device handbook, volume 1 4. embedded multipliers in cyclone iv devices cyclone ? iv devices include a combination of on-chip resources and external interfaces that help increase performance, reduce system cost, and lower the power consumption of digital signal processing (dsp) systems. cyclone iv devices, either alone or as dsp device co-processors, are used to improve price-to-performance ratios of dsp systems. particular focus is placed on optimizing cyclone iv devices for applications that benefit from an abundance of parallel processing resources, which include video and image processing, intermediate frequency (if) modems used in wireless communications systems, and multi-channel communications and video systems. this chapter contains the following sections: ?embedded multiplier block overview? on page 4?1 ?architecture? on page 4?3 ?operational modes? on page 4?4 embedded multiplier block overview figure 4?1 shows one of the embedded multiplier columns with the surrounding logic array blocks (labs). the embedded multiplier is configured as either one 18 18 multiplier or two 9 9 multipliers. for multiplications greater than 18 18, the quartus ? ii software cascades multiple embedded multiplier blocks together. there are no restrictions on the data width of the multiplier, but the greater the data width, the slower the multiplication process. figure 4?1. embedded multipliers arranged in columns with adjacent labs embedded multiplier embedded m u ltiplie r col u m n 1 lab row cyiv-51004-1.1
4?2 chapter 4: embedded multipliers in cyclone iv devices embedded multiplier block overview cyclone iv device handbook, volume 1 ? february 2010 altera corporation ta b l e 4 ?1 lists the number of embedded multipliers and the multiplier modes that can be implemented in each cyclone iv device. in addition to the embedded multipliers in cyclone iv devices, you can implement soft multipliers by using the m9k memory blocks as look-up tables (luts). the luts contain partial results from the multiplication of input data with coefficients that implement variable depth and width high-performance soft multipliers for low-cost, high-volume dsp applications. the availability of soft multipliers increases the number of available multipliers in the device. f for more information about m9k memory blocks, refer to the memory blocks in cyclone iv devices chapter. f for more information about soft multipliers, refer to an 306: implementing multipliers in fpga devices . table 4?1. number of embedded multipliers in cyclone iv devices device family device embedded multipliers 9 9 multipliers (1) 18 18 multipliers (1) cyclone iv gx ep4cgx15 0 0 0 ep4cgx22 40 80 40 ep4cgx30 80 160 80 ep4cgx50 140 280 140 ep4cgx75 198 396 198 ep4cgx110 280 560 280 ep4cgx150 360 720 360 cyclone iv e ep4ce6 15 30 15 ep4ce10 23 46 23 ep4ce15 56 112 56 ep4ce22 66 132 66 ep4ce30 66 132 66 ep4ce40 116 232 116 ep4ce55 154 308 154 ep4ce75 200 400 200 ep4ce115 266 532 266 note to table 4?1 : (1) these columns show the number of 9 9 or 18 18 multipliers for each device.
chapter 4: embedded multipliers in cyclone iv devices 4?3 architecture ? february 2010 altera corporation cyclone iv device handbook, volume 1 architecture each embedded multiplier consists of the following elements: multiplier stage input and output registers input and output interfaces figure 4?2 shows the multiplier block architecture. input registers you can send each multiplier input signal into an input register or directly into the multiplier in 9- or 18-bit sections, depending on the operational mode of the multiplier. you can send each multiplier input signal through a register independently of other input signals. for example, you can send the multiplier data a signal through a register and send the data b signal directly to the multiplier. the following control signals are available for each input register in the embedded multiplier: clock clock enable asynchronous clear all input and output registers in a single embedded multiplier are fed by the same clock, clock enable, and asynchronous clear signals. multiplier stage the multiplier stage of an embedded multiplier block supports 9 9 or 18 18 multipliers, as well as other multipliers between these configurations. depending on the data width or operational mode of the multiplier, a single embedded multiplier can perform one or two multiplications in parallel. for multiplier information, refer to ?operational modes? on page 4?4 . figure 4?2. multiplier block architecture clr n dq e n a data a data b aclr clock ena signa sign b clr n dq e n a clr n dq e n a data o u t em b edded m u ltiplier block output register input register
4?4 chapter 4: embedded multipliers in cyclone iv devices operational modes cyclone iv device handbook, volume 1 ? february 2010 altera corporation each multiplier operand is a unique signed or unsigned number. the signa and signb signals control an input of a multiplier and determine if the value is signed or unsigned. if the signa signal is high, the data a operand is a signed number. if the signa signal is low, the data a operand is an unsigned number. ta b l e 4 ?2 lists the sign of the multiplication results for the various operand sign representations. the results of the multiplication are signed if any one of the operands is a signed value . each embedded multiplier block has only one signa and one signb signal to control the sign representation of the input data to the block. if the embedded multiplier block has two 9 9 multipliers, the data a input of both multipliers share the same signa signal, and the data b input of both multipliers share the same signb signal. you can dynamically change the signa and signb signals to modify the sign representation of the input operands at run time. you can send the signa and signb signals through a dedicated input register. the multiplier offers full precision, regardless of the sign representation. 1 when the signa and signb signals are unused, the quartus ii software sets the multiplier to perform unsigned multiplication by default. output registers you can register the embedded multiplier output with output registers in either 18- or 36-bit sections, depending on the operational mode of the multiplier. the following control signals are available for each output register in the embedded multiplier: clock clock enable asynchronous clear all input and output registers in a single embedded multiplier are fed by the same clock, clock enable, and asynchronous clear signals. operational modes you can use an embedded multiplier block in one of two operational modes, depending on the application needs: one 18 18 multiplier up to two 9 9 independent multipliers table 4?2. multiplier sign representation data a data b result signa value logic level signb value logic level unsigned low unsigned low unsigned unsigned low signed high signed signed high unsigned low signed signed high signed high signed
chapter 4: embedded multipliers in cyclone iv devices 4?5 operational modes ? february 2010 altera corporation cyclone iv device handbook, volume 1 1 you can also use embedded multipliers of cyclone iv devices to implement multiplier adder and multiplier accumulator functions, in which the multiplier portion of the function is implemented with embedded multipliers, and the adder or accumulator function is implemented in logic elements (les). 18-bit multipliers you can configure each embedded multiplier to support a single 18 18 multiplier for input widths of 10 to 18 bits. figure 4?3 shows the embedded multiplier configured to support an 18-bit multiplier. all 18-bit multiplier inputs and results are independently sent through registers. the multiplier inputs can accept signed integers, unsigned integers, or a combination of both. also, you can dynamically change the signa and signb signals and send these signals through dedicated input registers. 9-bit multipliers you can configure each embedded multiplier to support two 9 9 independent multipliers for input widths of up to 9 bits. figure 4?3. 18-bit multiplier mode clr n dq e n a data a [17..0] data b [17..0] aclr clock ena signa sign b clr n dq e n a clr n dq e n a data o u t [35..0] 1 8 1 8 m u ltiplier em b edded m u ltiplier
4?6 chapter 4: embedded multipliers in cyclone iv devices operational modes cyclone iv device handbook, volume 1 ? february 2010 altera corporation figure 4?4 shows the embedded multiplier configured to support two 9-bit multipliers. all 9-bit multiplier inputs and results are independently sent through registers. the multiplier inputs can accept signed integers, unsigned integers, or a combination of both. two 9 9 multipliers in the same embedded multiplier block share the same signa and signb signal. therefore, all the data a inputs feeding the same embedded multiplier must have the same sign representation. similarly, all the data b inputs feeding the same embedded multiplier must have the same sign representation. figure 4?4. 9-bit multiplier mode clr n dq e n a data a 0 [ 8 ..0] data b 0 [ 8 ..0] aclr clock ena signa sign b clr n dq e n a clr n dq e n a data o u t 0 [17..0] 9 9 m u ltiplier em b edded m u ltiplier clr n dq e n a data a 1 [ 8 ..0] data b 1 [ 8 ..0] clr n dq e n a clr n dq e n a data o u t 1 [17..0] 9 9 m u ltiplier
chapter 4: embedded multipliers in cyclone iv devices 4?7 document revision history ? february 2010 altera corporation cyclone iv device handbook, volume 1 document revision history ta b l e 4 ?3 lists the revision history for this chapter. table 4?3. document revision history date version changes made february 2010 1.1 added cyclone iv e devices in ta b le 4 ?1 for the quartus ii software version 9.1 sp1 release. november 2009 1.0 initial release.
4?8 chapter 4: embedded multipliers in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? february 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 1 5. clock networks and plls in cyclone iv devices this chapter describes the hierarchical clock networks and phase-locked loops (plls) with advanced features in the cyclone ? iv device family. it includes details about the ability to reconfigure the pll counter clock frequency and phase shift in real time, allowing you to sweep pll output frequencies and dynamically adjust the output clock phase shift. 1 the quartus ? ii software enables the plls and their features without external devices. this chapter contains the following sections: ?clock networks? on page 5?1 ?plls in cyclone iv devices? on page 5?16 ?cyclone iv pll hardware overview? on page 5?19 ?clock feedback modes? on page 5?22 ?hardware features? on page 5?26 ?programmable bandwidth? on page 5?32 ?phase shift implementation? on page 5?32 ?pll cascading? on page 5?34 ?pll reconfiguration? on page 5?35 ?spread-spectrum clocking? on page 5?43 ?pll specifications? on page 5?43 clock networks the cyclone iv gx device provides up to 12 dedicated clock pins ( clk[15..4] ) that can drive the global clocks (gclks). cyclone iv gx devices support four dedicated clock pins on each side of the device except the left side. these clock pins can drive up to 30 gclks. the cyclone iv e device provides up to 15 dedicated clock pins ( clk[15..1] ) that can drive up to 20 gclks. cyclone iv e devices support three dedicated clock pins on the left side and four dedicated clock pins on the top, right, and bottom sides of the device except ep4ce6 and ep4ce10 devices. ep4ce6 and ep4ce10 devices only support three dedicated clock pins on the left side and four dedicated clock pins on the right side of the device. f for more information about the number of gclk networks in each device density, refer to the cyclone iv fpga device family overview chapter. cyiv-51005-2.2
5?2 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation gclk network gclks drive throughout the entire device, feeding all device quadrants. all resources in the device (i/o elements, logic array blocks (labs), dedicated multiplier blocks, and m9k memory blocks) can use gclks as clock sources. use these clock network resources for control signals, such as clock enables and clears fed by an external pin. internal logic can also drive gclks for internally generated gclks and asynchronous clears, clock enables, or other control signals with high fan-out. ta b l e 5 ?1 , table 5?2 on page 5?4 , and table 5?3 on page 5?7 list the connectivity of the clock sources to the gclk networks. table 5?1. gclk network connections for ep 4cgx15, ep4cgx22, and ep4cgx30 (note 1) , (2) (part 1 of 2) gclk network clock sources gclk networks 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 clk4/diffclk_2n ????? v ? v ? v ?????????? clk5/diffclk_2p ?????? vv ???????????? clk6/diffclk_3n ?????? v ? vv ?????????? clk7/diffclk_3p ????? v ?? v ??????????? clk8/diffclk_5n ?????????? v ? v ? v ????? clk9/diffclk_5p ??????????? vv ??????? clk10/diffclk_4n /refclk1n ??????????? v ? vv ????? clk11/diffclk_4p /refclk1p ?????????? v ?? v ?????? clk12/diffclk_7p /refclk0p ??????????????? v ? v ? v clk13/diffclk_7n /refclk0n ???????????????? vv ?? clk14/diffclk_6p ???????????????? v ? vv clk15/diffclk_6n ??????????????? v ?? v ? pll_1_c0 v ?? v ??????????? v ?? v ? pll_1_c1 ? v ?? v ??????????? v ?? v pll_1_c2 v ? v ???????????? v ? v ?? pll_1_c3 ? v ? v ???????????? v ? v ? pll_1_c4 ?? v ? v ???????????? v ? v pll_2_c0 v ?? v ?????? v ?? v ?????? pll_2_c1 ? v ?? v ?????? v ?? v ????? pll_2_c2 v ? v ??????? v ? v ??????? pll_2_c3 ? v ? v ??????? v ? v ?????? pll_2_c4 ?? v ? v ??????? v ? v ????? pll_3_c0 ????? v ?? v ?????? v ?? v ? pll_3_c1 ?????? v ?? v ?????? v ?? v pll_3_c2 ????? v ? v ??????? v ? v ?? pll_3_c3 ?????? v ? v ??????? v ? v ?
chapter 5: clock networks and plls in cyclone iv devices 5?3 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 pll_3_c4 ??????? v ? v ??????? v ? v pll_4_c0 (3) ????? v ?? v ? v ?? v ?????? pll_4_c1 (3) ?????? v ?? v ? v ?? v ????? pll_4_c2 (3) ????? v ? v ?? v ? v ??????? pll_4_c3 (3) ?????? v ? v ?? v ? v ?????? pll_4_c4 (3) ??????? v ? v ?? v ? v ????? dpclk2 ???????????????? v ??? dpclk3 (4) ?????????????????? v ? dpclk4 (4) ????????????????? v ?? dpclk5 ??????????????????? v dpclk6 (4) ???????? v ??????????? dpclk7 ?????? v ????????????? dpclk8 ????????? v ?????????? dpclk9 (4) ??????? v ???????????? dpclk10 ?????????????? v ????? dpclk11 (4) ???????????? v ??????? dpclk12 (4) ????????????? v ?????? dpclk13 ??????????? v ???????? notes to table 5?1 : (1) ep4cgx30 information in this table refers to all ep4cgx30 packages except f484 package. (2) pll_1 and pll_2 are multipurpose plls while pll_3 and pll_4 are general purpose plls. (3) pll_4 is only available in ep4cgx22 and ep4cgx30 devices in f324 package. (4) this pin applies to ep4cgx22 and ep4cgx30 devices. table 5?1. gclk network connections for ep 4cgx15, ep4cgx22, and ep4cgx30 (note 1) , (2) (part 2 of 2) gclk network clock sources gclk networks 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
5?4 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation table 5?2. gclk network connections for ep4cgx30, ep4cgx 50, ep4cgx75, ep4cgx110, and ep4cgx150 devices (note 1) , (2) (part 1 of 3) gclk network clock sources gclk networks 01234567891011121314151617181920212223242526272829 clkio4/diffclk_2n ???????????? v ? v ? v ????????????? clkio5 /diffclk_2p ????????????? vv ?? v ???????????? clkio6/diffclk_3n ????????????? v ? vv ????????????? clkio7/diffclk_3p ???????????? v ?? v ? v ???????????? clkio8/diffclk_5n ?????????????????? v ? v ? v ??????? clkio9/diffclk_5p ??????????????????? vv ?? v ?????? clkio10/diffclk_4n/ refclk3n ??????????????????? v ? vv ?????? clkio11/diffclk_4p/ refclk3p ?????????????????? v ?? v ? v ?????? clkio12/diffclk_7p/ refclk2p ???????????????????????? v ? v ? v ? clkio13/diffclk_7n/ refclk2n ????????????????????????? vv ?? v clkio14/diffclk_6p ????????????????????????? v ? vv ? clkio15/diffclk_6n ???????????????????????? v ?? v ? v pll_1_c0 v ?? v ? v ?????????????????? v ?? v ? v pll_1_c1 ? v ?? v ???????????????????? v ?? v ? pll_1_c2 v ? v ????????????????????? v ? v ??? pll_1_c3 ? v ? v ????????????????????? v ? v ?? pll_1_c4 ?? v ? vv ???????????????????? v ? vv pll_2_c0 ?????? v ?? v ? v ?????? v ?? v ? v ?????? pll_2_c1 ??????? v ?? v ???????? v ?? v ??????? pll_2_c2 ?????? v ? v ????????? v ? v ????????? pll_2_c3 ??????? v ? v ????????? v ? v ???????? pll_2_c4 ???????? v ? vv ???????? v ? vv ?????? pll_3_c0 ???????????? v ?? v ? v ?????? v ?? v ? v
chapter 5: clock networks and plls in cyclone iv devices 5?5 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 pll_3_c1 ????????????? v ?? v ???????? v ?? v ? pll_3_c2 ???????????? v ? v ????????? v ? v ??? pll_3_c3 ????????????? v ? v ????????? v ? v ?? pll_3_c4 ?????????????? v ? vv ???????? v ? vv pll_4_c0 ???????????? v ?? v ? vv ?? v ? v ?????? pll_4_c1 ????????????? v ?? v ?? v ?? v ??????? pll_4_c2 ???????????? v ? v ??? v ? v ????????? pll_4_c3 ????????????? v ? v ??? v ? v ???????? pll_4_c4 ?????????????? v ? vv ?? v ? vv ?????? pll_5_c0 v ? v ??????????????????????????? pll_5_c1 ?????????????????????????????? pll_5_c2 ?????????????????????????????? pll_5_c3 ? v ? v ?????????????????????????? pll_5_c4 ?? v ? vv ???????????????????????? pll_6_c0 v ?? v ? v ???????????????????????? pll_6_c1 ?????????????????????????????? pll_6_c2 ?????????????????????????????? pll_6_c3 ?????????????????????????????? pll_6_c4 ? v ?? v ????????????????????????? pll_7_c0 (3) ?????? v ?? v ? v ?????????????????? pll_7_c1 (3) ?????????????????????????????? pll_7_c2 (3) ?????????????????????????????? pll_7_c3 (3) ?????????????????????????????? pll_7_c4 (3) ??????? v ?? v ??????????????????? pll_8_c0 (3) ?????? v ? v ????????????????????? table 5?2. gclk network connections for ep 4cgx30, ep4cgx50, ep4cgx75, ep 4cgx110, and ep4cgx150 devices (note 1) , (2) (part 2 of 3) gclk network clock sources gclk networks 01234567891011121314151617181920212223242526272829
5?6 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation pll_8_c1 (3) ?????????????????????????????? pll_8_c2 (3) ?????????????????????????????? pll_8_c3 (3) ??????? v ? v ???????????????????? pll_8_c4 (3) ???????? v ? vv ?????????????????? dpclk0 ????????????????????????? v ???? dpclk1 ??????????????????????????? v ?? dpclk2 ????????????????????????????? v dpclk3 ???????????????????????? v ????? dpclk4 ?????????????????????????? v ??? dpclk5 ???????????????????????????? v ? dpclk6 ????????????????? v ???????????? dpclk7 ??????????????? v ?????????????? dpclk8 ????????????? v ???????????????? dpclk9 ???????????????? v ????????????? dpclk10 ?????????????? v ??????????????? dpclk11 ???????????? v ????????????????? dpclk12 ?????????????????????? v ??????? dpclk13 ???????????????????? v ????????? dpclk14 ?????????????????? v ??????????? dpclk15 ??????????????????????? v ?????? dpclk16 ????????????????????? v ???????? dpclk17 ??????????????????? v ?????????? notes to table 5?2 : (1) ep4cgx30 information in this table refers to only ep4cgx30 device in f484 package. (2) pll_1 , pll_2 , pll_3 , and pll_4 are general purpose plls while pll_5 , pll_6 , pll_7 , and pll_8 are multipurpose plls. (3) pll_7 and pll_8 are not available in ep4cxgx30, ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices in f484 package. table 5?2. gclk network connections for ep4cgx30, ep4cgx 50, ep4cgx75, ep4cgx110, and ep4cgx150 devices (note 1) , (2) (part 3 of 3) gclk network clock sources gclk networks 01234567891011121314151617181920212223242526272829
chapter 5: clock networks and plls in cyclone iv devices 5?7 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 table 5?3. gclk network connections for cyclone iv e devices (note 1) (part 1 of 2) gclk network clock sources gclk networks 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 clk1 ? vv ????????????????? clk2 / diffclk_1p ? v ? vv ??????????????? clk3 / diffclk_1n v ?? v ???????????????? clk4 / diffclk_2p ????? v ? v ? v ?????????? clk5 / diffclk_2n ?????? vv ???????????? clk6 / diffclk_3p ?????? v ? vv ?????????? clk7 / diffclk_3n ????? v ?? v ??????????? clk8 / diffclk_5n (2) ?????????? v ? v ? v ????? clk9 / diffclk_5p (2) ??????????? vv ??????? clk10 / diffclk_4n (2) ??????????? v ? vv ????? clk11 / diffclk_4p (2) ?????????? v ?? v ?????? clk12 / diffclk_7n (2) ??????????????? v ? v ? v clk13 / diffclk_7p (2) ???????????????? vv ?? clk14 / diffclk_6n (2) ???????????????? v ? vv clk15 / diffclk_6p (2) ??????????????? v ?? v ? pll_1_c0 (3) v ?? v ???????????????? pll_1_c1 (3) ? v ?? v ??????????????? pll_1_c2 (3) v ? v ????????????????? pll_1_c3 (3) ? v ? v ???????????????? pll_1_c4 (3) ?? v ? v ??????????????? pll_2_c0 (3) ????? v ?? v ??????????? pll_2_c1 (3) ?????? v ?? v ?????????? pll_2_c2 (3) ????? v ? v ???????????? pll_2_c3 (3) ?????? v ? v ??????????? pll_2_c4 (3) ??????? v ? v ?????????? pll_3_c0 ?????????? v ?? v ?????? pll_3_c1 ??????????? v ?? v ????? pll_3_c2 ?????????? v ? v ??????? pll_3_c3 ??????????? v ? v ?????? pll_3_c4 ???????????? v ? v ????? pll_4_c0 ??????????????? v ?? v ? pll_4_c1 ???????????????? v ?? v
5?8 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation pll_4_c2 ??????????????? v ? v ?? pll_4_c3 ???????????????? v ? v ? pll_4_c4 ????????????????? v ? v dpclk0 v ??????????????????? dpclk1 ? v ?????????????????? dpclk7 (4) cdpclk0 , or cdpclk7 (2) , (5) ?? v ????????????????? dpclk2 (4) cdpclk1 , or cdpclk2 (2) , (5) ??? vv ??????????????? dpclk5 (4) dpclk7 (2) ????? v ?????????????? dpclk4 (4) dpclk6 (2) ?????? v ????????????? dpclk6 (4) cdpclk5 , or cdpclk6 (2) , (5) ??????? v ???????????? dpclk3 (4) cdpclk4 , or cdpclk3 (2) , (5) ???????? vv ?????????? dpclk8 ?????????? v ????????? dpclk11 ??????????? v ???????? dpclk9 ???????????? v ??????? dpclk10 ????????????? vv ????? dpclk5 ??????????????? v ???? dpclk2 ???????????????? v ??? dpclk4 ????????????????? v ?? dpclk3 ?????????????????? vv notes to table 5?3 : (1) ep4ce6 and ep4ce10 devices only have gclk networks 0 to 9. (2) these pins apply to all cyclone iv e devices except ep4ce6 and ep4ce10 devices. (3) ep4ce6 and ep4ce10 devices only have pll_1 and pll_2 . (4) this pin applies only to ep4ce6 and ep4ce10 devices. (5) only one of the two cdpclk pins can feed the clock control block. you can use the other pin as a regular i/o pin. table 5?3. gclk network connections for cyclone iv e devices (note 1) (part 2 of 2) gclk network clock sources gclk networks 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
chapter 5: clock networks and plls in cyclone iv devices 5?9 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 if you do not use dedicated clock pins to feed the gclks, you can use them as general-purpose input pins to feed the logic array. however, when using them as general-purpose input pins, they do not have support for an i/o register and must use le-based registers in place of an i/o register. f for more information about how to connect the clock and pll pins, refer to the cyclone iv device family pin connection guidelines . clock control block the clock control block drives the gclks. clock control blocks are located on each side of the device, close to the dedicated clock input pins. gclks are optimized for minimum clock skew and delay. ta b l e 5 ?4 lists the sources that can feed the clock control block, which in turn feeds the gclks. in cyclone iv devices, dedicated clock input pins, pll counter outputs, dual-purpose clock i/o inputs, and internal logic can all feed the clock control block for each gclk. the output from the clock control block in turn feeds the corresponding gclk. the gclk can drive the pll input if the clock control block inputs are outputs of another pll or dedicated clock input pins. there are five or six clock control blocks on each side of the device periphery?depending on device density; providing up to 30 clock control blocks in each cyclone iv gx device. the maximum number of clock control blocks per cyclone iv e device is 20. for the clock control block locations, refer to figure 5?2 on page 5?11 , figure 5?3 on page 5?12 , and figure 5?4 on page 5?13 . 1 the clock control blocks on the left side of the cyclone iv gx device do not support any clock inputs. the control block has two functions: dynamic gclk clock source selection (not applicable for dpclk , cdpclk , and internal logic input) gclk network power down (dynamic enable and disable) table 5?4. clock control block inputs input description dedicated clock inputs dedicated clock input pins can drive clocks or global signals, such as synchronous and asynchronous clears, presets, or clock enables onto given gclks. dual - purpose clock ( dpclk and cdpclk) i/o input dpclk and cdpclk i/o pins are bidirectional dual function pins that are used for high fan - out control signals, such as protocol signals, trdy and irdy signals for pci, via the gclk. clock control blocks that have inputs driven by dual - purpose clock i/o pins are not able to drive pll inputs. pll outputs pll counter outputs can drive the gclk. internal logic you can drive the gclk through logic array routing to enable internal logic elements (les) to drive a high fan - out, low - skew signal path. clock control blocks that have inputs driven by internal logic are not able to drive pll inputs.
5?10 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 5?1 shows the clock control block. each pll generates five clock outputs through the c[4..0] counters. two of these clocks can drive the gclk through a clock control block, as shown in figure 5?1 . f for more information about how to use the clock control block in the quartus ii software, refer to the altclkctrl megafunction user guide . figure 5?1. clock control block notes to figure 5?1 : (1) the clkswitch signal can either be set through the configuration file or dynamically set when using the manual pll switchover feature. the output of the multiplexer is the input clock (f in ) for the pll. (2) the clkselect[1..0] signals are fed by internal logic and are used to dynamically select the clock source for the gclk when the device is in user mode. (3) the static clock select signals are set in the configuration file. therefore, dynamic control when the device is in user mod e is not feasible. (4) two out of four pll clock outputs are selected from adjacent plls to drive into the clock control block. (5) you can use internal logic to enable or disable the gclk in user mode. (6) clk[ n ] is not available on the left side of cyclone iv e devices. clkswitch (1) static clock select (3) static clock select (3) internal logic clock control block not applicable to cyclone i v e devices dpclk clkselect[1..0] (2) internal logic (5) inclk1 inclk0 clk[ n + 3] clk[ n + 2] clk[ n + 1] clk[ n ] (6) f in c0 c1 c2 pll global clock enable/ disable c3 c4 clkswitch (1) inclk1 inclk0 f in c0 c1 c2 pll c3 c4 (4)
chapter 5: clock networks and plls in cyclone iv devices 5?11 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 gclk network clock source generation figure 5?2 , figure 5?3 , and figure 5?4 on page 5?13 show the cyclone iv plls, clock inputs, and clock control block location for different cyclone iv device densities. figure 5?2. clock networks and clock control block locations in ep4cgx15, ep4cgx22 , and ep4cgx30 devices (note 1) , (2) notes to figure 5?2 : (1) the clock networks and clock control block locations apply to all ep4cgx15, ep4cgx22, and ep4cgx30 devices except ep4cgx30 device in f484 package. (2) pll_1 and pll_2 are multipurpose plls while pll_3 and pll_4 are general purpose plls. (3) there are five clock control blocks on each side. (4) pll_4 is only available in ep4cgx22 and ep4cgx30 devices in f324 package. (5) the ep4cgx15 device has two dpclk pins on three sides of the device: dpclk2 and dpclk5 on bottom side, dpclk7 and dpclk8 on the right side, dpclk10 and dpclk13 on the top side of device. (6) dedicated clock pins can feed into this pll. however, these paths are not fully compensated. pll_ 1 pll_3 pll_4 pll_ 2 20 20 20 20 4 4 4 22 22 2 2 5 5 dpclk[13..12] (5) dpclk[11..10] (5) clk[11..8] gclk[19..0] gclk[19..0] dpclk[9..8] (5) clk[7..4] dpclk[7..6] (5) dpclk[3..2] (5) clk[15..12] dpclk[5..4] (5) (4) (6) hssi 4 5 4 5 4 5 4 5 4 5 4 5 clock control block (3) clock control block (3) clock control block (3) clock control block (3) (6)
5?12 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 5?3. clock networks and clock control block locations in ep4cgx30, ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices (note 1) , (2) notes to figure 5?3 : (1) the clock networks and clock control block locations in this figure apply to only the ep4cgx30 device in f484 package and al l ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices. (2) pll_1 , pll_2 , pll_3 , and pll_4 are general purpose plls while pll_5 , pll_6 , pll_7 , and pll_8 are multipurpose plls. (3) there are 6 clock control blocks on the top, right and bottom sides of the device and 12 clock control blocks on the left si de of the device. (4) refclk[0,1]p/n and refclk[4,5]p/n can only drive the general purpose plls and multipurpose plls on the left side of the device. these clock pins do not have access to the clock control blocks and gclk networks. the refclk[4,5]p/n pins are not available in devices in f484 package. (5) not available for ep4cgx30, ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices in f484 package. (6) dedicated clock pins can feed into this pll. however, these paths are not fully compensated. pll_ 1 pll_3 pll_4 pll_ 2 30 30 30 30 4 4 4 4 4 4 33 33 3 3 4 5 4 4 5 5 4 5 5 5 dpclk[17..15] dpclk[14..12] clkio[11..8] gclk[29..0] gclk[29..0] dpclk[11..9] clkio[7..4] dpclk[8..6] dpclk[2..0] clkio[15..12] refclk[0,1]p/n (4) refclk[4,5]p/n (4) dpclk[5..3] clock control block (3) clock control block (3) clock control block (3) clock control block (3) clock control block (3) 3 3 2 2 4 4 5 4 5 hssi hssi pll_ 8 (5) pll_ 5 pll_ 7 (5) pll_ 6 (6) (6) (6) (6) (6) (6) (6) (6)
chapter 5: clock networks and plls in cyclone iv devices 5?13 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 the inputs to the clock control blocks on each side of the cyclone iv gx device must be chosen from among the following clock sources: four clock input pins ten pll counter outputs (five from each adjacent plls) two, four, or six dpclk pins from the top, bottom, and right sides of the device five signals from internal logic figure 5?4. clock networks and clock control bloc k locations in cyclone iv e devices notes to figure 5?4 : (1) there are five clock control blocks on each side. (2) only one of the corner cdpclk pins in each corner can feed the clock control block at a time. you can use the other cdpclk pins as general-purpose i/o (gpio) pins . (3) dedicated clock pins can feed into this pll. however, these paths are not fully compensated. (4) pll_3 and pll_4 are not available in ep4ce6 and ep4ce10 devices. pll_1 pll_4 pll_2 pll_3 20 20 20 20 4 4 4 4 3 4 4 4 2 2 2 2 22 22 5 5 5 5 (2) (2) (2) (2) cdpclk7 cdpclk0 cdpclk1 dpclk1 dpclk[11.10] dpclk[9..8] clk[11..8] cdpclk6 dpclk0 clk[3..1] gclk[19..0] gclk[19..0] cdpclk5 dpclk7 clk[7..4] dpclk6 cdpclk4 cdpclk2 dpclk[3..2] clk[15..12] dpclk[5..4] cdpclk3 4 4 4 4 (3) (3) (3) (4) (4) (3) clock control block (1) clock control block (1) clock control block (1) clock control block (1)
5?14 chapter 5: clock networks and plls in cyclone iv devices clock networks cyclone iv device handbook, volume 1 ? december 2010 altera corporation from the clock sources listed above, only two clock input pins, two out of four pll clock outputs (two clock outputs from either adjacent plls), one dpclk pin, and one source from internal logic can drive into any given clock control block, as shown in figure 5?1 on page 5?10 . out of these six inputs to any clock control block, the two clock input pins and two pll outputs are dynamically selected to feed a gclk. the clock control block supports static selection of the signal from internal logic. figure 5?5 shows a simplified version of the clock control blocks on each side of the cyclone iv gx device periphery. the inputs to the five clock control blocks on each side of the cyclone iv e device must be chosen from among the following clock sources: three or four clock input pins, depending on the specific device five pll counter outputs two dpclk pins and two cdpclk pins from both the left and right sides and four dpclk pins from both the top and bottom five signals from internal logic from the clock sources listed above, only two clock input pins, two pll clock outputs, one dpclk or cdpclk pin, and one source from internal logic can drive into any given clock control block, as shown in figure 5?1 on page 5?10 . out of these six inputs to any clock control block, the two clock input pins and two pll outputs are dynamically selected to feed a gclk. the clock control block supports static selection of the signal from internal logic. figure 5?6 shows a simplified version of the five clock control blocks on each side of the cyclone iv e device periphery. figure 5?5. clock control blocks on each side of cyclone iv gx device notes to figure 5?5 : (1) the ep4cgx15 device has two dpclk pins; the ep4cgx22 and ep4cgx30 devices have four dpclk pins; the ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices have six dpclk pins. (2) each clock control block in the ep4cgx15, ep4cgx22, and ep4cgx30 devices can drive five gclk networks. each clock control block in the ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices can drive six gclk networks. 5 or 6 (2) gclk clock input pins 4 dpclk (1) internal logic clock control block 10 pll outputs 5 2, 4, or 6 five or six clock control blocks on each side of the device
chapter 5: clock networks and plls in cyclone iv devices 5?15 clock networks ? december 2010 altera corporation cyclone iv device handbook, volume 1 gclk network power down you can disable a cyclone iv device?s gclk (power down) using both static and dynamic approaches. in the static approach, configuration bits are set in the configuration file generated by the quartus ii software, which automatically disables unused gclks. the dynamic clock enable or disable feature allows internal logic to control clock enable or disable the gclks in cyclone iv devices. when a clock network is disabled, all the logic fed by the clock network is in an off-state, thereby reducing the overall power consumption of the device. this function is independent of the pll and is applied directly on the clock network, as shown in figure 5?1 on page 5?10 . you can set the input clock sources and the clkena signals for the gclk multiplexers through the quartus ii software using the altclkctrl megafunction. f for more information, refer to the altclkctrl megafunction user guide . clkena signals cyclone iv devices support clkena signals at the gclk network level. this allows you to gate-off the clock even when a pll is used. upon re-enabling the output clock, the pll does not need a resynchronization or re-lock period because the circuit gates off the clock at the clock network level. in addition, the pll can remain locked independent of the clkena signals because the loop-related counters are not affected. figure 5?7 shows how to implement the clkena signal with a single register. figure 5?6. clock control blocks on each side of cyclone iv e device (note 1) note to figure 5?6 : (1) the left and right sides of the device have two dpclk pins; the top and bottom of the device have four dpclk pins. 5 gclk clock inp u t pins 3 or 4 dpclk internal logic clock control block 5 pll o u tp u ts 5 2 or 4 cdpclk 2 five clock control blocks on each side of the device figure 5?7. clkena implementation dq clkena clkena_o u t clk_o u t clkin
5?16 chapter 5: clock networks and plls in cyclone iv devices plls in cyclone iv devices cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 the clkena circuitry controlling the output c0 of the pll to an output pin is implemented with two registers instead of a single register, as shown in figure 5?7 . figure 5?8 shows the waveform example for a clock output enable. the clkena signal is sampled on the falling edge of the clock ( clkin ). 1 this feature is useful for applications that require low power or sleep mode. the clkena signal can also disable clock outputs if the system is not tolerant to frequency overshoot during pll resynchronization. altera recommends using the clkena signals when switching the clock source to the plls or the gclk. the recommended sequence is: 1. disable the primary output clock by de-asserting the clkena signal. 2. switch to the secondary clock using the dynamic select signals of the clock control block. 3. allow some clock cycles of the secondary clock to pass before reasserting the clkena signal. the exact number of clock cycles you must wait before enabling the secondary clock is design-dependent. you can build custom logic to ensure glitch-free transition when switching between different clock sources. plls in cyclone iv devices cyclone iv gx devices offer two variations of plls: general purpose plls and multipurpose plls. cyclone iv e devices only have the general purpose plls. the general purpose plls are used for general-purpose applications in the fpga fabric and periphery such as external memory interfaces. the multipurpose plls are used for clocking the transceiver blocks. when the multipurpose plls are not used for transceiver clocking, they can be used for general-purpose clocking. f for more details about the multipurpose plls used for transceiver clocking, refer to the cyclone iv transceivers chapter. figure 5?8. clkena implementation: output enable clkin clkena clk_o u t
chapter 5: clock networks and plls in cyclone iv devices 5?17 plls in cyclone iv devices ? december 2010 altera corporation cyclone iv device handbook, volume 1 cyclone iv gx devices contain up to eight general purpose plls and multipurpose plls while cyclone iv e devices have up to four general purpose plls that provide robust clock management and synthesis for device clock management, external system clock management, and high-speed i/o interfaces. f for more information about the number of general purpose plls and multipurpose plls in each device density, refer to the cyclone iv device family overview chapter. 1 the general i/o pins cannot drive the pll clock input pins. ta b l e 5 ?5 lists the features available in cyclone iv gx plls. table 5?5. cyclone iv gx pll features (part 1 of 2) features availability general purpose plls multipurpose plls pll_1 (1) , (10) pll_2 (1) , (10) pll_3 (2) pll_4 (3) pll_1 (4) pll_2 (4) pll_5 (1) , (10) pll_6 (1) , (10) pll_7 (1) pll_8 (1) c (output counters) 5 m, n, c counter sizes 1 to 512 (5) dedicated clock outputs 1 single-ended or 1 differential pair clock input pins 12 single-ended or 6 differential pairs (6) and 4 differential pairs (7) spread - spectrum input clock tracking v (8) pll cascading through gclk source - synchronous mode v v vvvv v ?? v no compensation mode v v vvvv v v vv normal mode v v vvvv v ?? v zero delay buffer mode v v vvvv v ?? v deterministic latency compensation mode vv ?? vv v v vv phase shift resolution (9) down to 96 ps increments programmable duty cycle v output counter cascading v input clock switchover v user mode reconfiguration v loss of lock detection v pll drives tx serial clock, tx load enable, and tx parallel clock vv ?? v vco output drives rx clock data recovery (cdr) clock ? v
5?18 chapter 5: clock networks and plls in cyclone iv devices plls in cyclone iv devices cyclone iv device handbook, volume 1 ? december 2010 altera corporation ta b l e 5 ?6 lists the features available in cyclone iv e plls. pll drives fref for ppm detect vv ?? v notes to table 5?5 : (1) this is only applicable to ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices in f672 and f896 package. (2) this is applicable to all cyclone iv devices. (3) this is applicable to all cyclone iv devices except ep4cgx15 devices in all packages, ep4cgx22, and ep4cgx30 devices in f169 package. (4) this is only applicable to ep4cgx15, ep4cgx22, and all ep4cgx30 devices except ep4cgx30 in the f484 package.. (5) c counters range from 1 through 512 if the output clock uses a 50% duty cycle. for any output clocks using a non-50% duty cy cle, the post - scale counters range from 1 through 256. (6) these clock pins can access the gclk networks. (7) these clock pins are only available in ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices and cannot access the gclk netwo rks. clk[17,19,20,21]p can be used as single-ended clock input pins. (8) only applicable if the input clock jitter is in the input jitter tolerance specifications. (9) the smallest phase shift is determined by the voltage - controlled oscillator (vco) period divided by eight. for degree increments, cyclone iv gx devices can shift all output frequencies in increments of at least 45. smaller degree increments are possible depending on the frequen cy and divide parameters. (10) this is applicable to the ep4cgx30, ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices in f484 package. table 5?5. cyclone iv gx pll features (part 2 of 2) features availability general purpose plls multipurpose plls pll_1 (1) , (10) pll_2 (1) , (10) pll_3 (2) pll_4 (3) pll_1 (4) pll_2 (4) pll_5 (1) , (10) pll_6 (1) , (10) pll_7 (1) pll_8 (1) table 5?6. cyclone iv e pll features hardware features availability c (output counters) 5 m, n, c counter sizes 1 to 512 (1) dedicated clock outputs 1 single-ended or 1 differential pair clock input pins 4 single-ended or 2 differential pairs spread-spectrum input clock tracking v (2) pll cascading through gclk compensation modes source-synchronous mode, no compensation mode, normal mode, and zero delay buffer mode phase shift resolution down to 96-ps increments (3) programmable duty cycle v output counter cascading v input clock switchover v user mode reconfiguration v loss of lock detection v notes to table 5?6 : (1) c counters range from 1 through 512 if the output clock uses a 50% duty cycle. for any output clocks using a non-50% duty cycle, the post-scale counters range from 1 through 256. (2) only applicable if the input clock jitter is in the input jitter tolerance specifications. (3) the smallest phase shift is determined by the vco period divided by eight. for degree increments, cyclone iv e devices can shift all output frequencies in increments of at least 45. smaller degree increments are possible depending on the frequency and divide parameters.
chapter 5: clock networks and plls in cyclone iv devices 5?19 cyclone iv pll hardware overview ? december 2010 altera corporation cyclone iv device handbook, volume 1 cyclone iv pll hardware overview this section gives a hardware overview of the cyclone iv pll. figure 5?9 shows a simplified block diagram of the major components of the pll of cyclone iv gx devices. figure 5?9. cyclone iv gx pll block diagram (note 1) notes to figure 5?9 : (1) each clock source can come from any of the four clock pins located on the same side of the device as the pll. (2) there are additional 4 pairs of dedicated differential clock inputs in ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices that can only drive general purpose plls and multipurpose plls on the left side of the device. clk[19..16] can access pll_2 , pll_6 , pll_7 , and pll_8 while clk[23..20] can access pll_1 , pll_5 , pll_6 , and pll_7 . for the location of these clock input pins, refer to figure 5?3 on page 5?12 . (3) this is the vco post - scale counter k. (4) this input port is fed by a pin - driven dedicated gclk, or through a clock control block if the clock control block is fed by an output from another pll or a pin - driven dedicated gclk. an internally generated global signal cannot drive the pll. (5) for the general purpose pll and multipurpose pll counter outputs connectivity to the gclks, refer to table 5?1 on page 5?2 and table 5?2 on page 5?4 . (6) only the ci output counter can drive the tx serial clock. (7) only the c2 output counter can drive the tx load enable. (8) only the c3 output counter can drive the tx parallel clock. clock s w itcho v er block inclk0 inclk1 clock inp u ts from pins gclk pfdena clks w itch clk b ad0 clk b ad1 acti v eclock fref for ppm detect (mplls, gpll1, and gpll2 only) pfd lock circ u it lock to rx cdr clocks (mplls only) n cp lf vco 2 (3) c0 c1 c2 c3 c4 m pll o u tp u t m u x gclks (5) tx serial clock (mplls, gpll1, and gpll2 only) (6) tx load ena b le (mplls, gpll1, and gpll2 only) (7) tx parallel clock (mplls , gpll1, and gpll2only) ( 8 ) deterministic latency compensation (mplls, gpll1, and gpll2 only) external clock o u tp u t 8 8 8 2, 4 4 (2) gclk net w orks no compensation; zdb mode so u rce-synchrono u s; normal mode vco range detector vcoovrr vcou n dr (4)
5?20 chapter 5: clock networks and plls in cyclone iv devices cyclone iv pll hardware overview cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 5?10 shows a simplified block diagram of the major components of the pll of cyclone iv e devices. 1 the vco post-scale counter k is used to divide the supported vco range by two. the vco frequency reported by the quartus ii software in the pll summary section of the compilation report takes into consideration the vco post-scale counter value. therefore, if the vco post-scale counter has a value of 2, the frequency reported is lower than the f vco specification specified in the cyclone iv device datasheet chapter. figure 5?10. cyclone iv e pll block diagram (note 1) notes to figure 5?10 : (1) each clock source can come from any of the four clock pins located on the same side of the device as the pll. (2) this is the vco post-scale counter k. (3) this input port is fed by a pin-driven dedicated gclk, or through a clock control block if the clock control block is fed by an output from another pll or a pin-driven dedicated gclk. an internally generated global signal cannot drive the pll. clock s w itcho v er block inclk0 inclk1 clock inp u ts from pins gclk pfdena clks w itch clk b ad0 clk b ad1 acti v eclock pfd lock circ u it lock n cp lf vco 2 (2) c0 c1 c2 c3 c4 m pll o u tp u t m u x gclks external clock o u tp u t 8 8 4 gclk net w orks no compensation; zdb mode so u rce-synchrono u s; normal mode vco range detector vcoovrr vcou n dr (3)
chapter 5: clock networks and plls in cyclone iv devices 5?21 cyclone iv pll hardware overview ? december 2010 altera corporation cyclone iv device handbook, volume 1 external clock outputs each pll of cyclone iv devices supports one single-ended clock output or one differential clock output. only the c0 output counter can feed the dedicated external clock outputs, as shown in figure 5?11 , without going through the gclk. other output counters can feed other i/o pins through the gclk. figure 5?11 shows the external clock outputs for plls. each pin of a differential output pair is 180 out of phase. the quartus ii software places the not gate in your design into the i/o element to implement 180 phase with respect to the other pin in the pair. the clock output pin pairs support the same i/o standards as standard output pins. f to determine which i/o standards are supported by the pll clock input and output pins, refer to the cyclone iv device i/o features chapter. cyclone iv plls can drive out to any regular i/o pin through the gclk. you can also use the external clock output pins as gpio pins if external pll clocking is not required. figure 5?11. external clock outputs for plls notes to figure 5?11 : (1) these external clock enable signals are available only when using the altclkctrl megafunction. (2) pll#_clkoutp and pll#_clkoutn pins are dual - purpose i/o pins that you can use as one single - ended clock output or one differential clock output. when using both pins as single - ended i/os, one of them can be the clock output while the other pin is configured as a regular user i/o. c0 c1 c2 c4 c3 pll# clkena 1 (1 ) clkena 0 (1) pll#_clkoutp (2) pll#_clkoutn (2)
5?22 chapter 5: clock networks and plls in cyclone iv devices clock feedback modes cyclone iv device handbook, volume 1 ? december 2010 altera corporation clock feedback modes cyclone iv plls support up to five different clock feedback modes. each mode allows clock multiplication and division, phase shifting, and programmable duty cycle. for the supported feedback modes, refer to table 5?5 on page 5?17 for cyclone iv gx plls and table 5?6 on page 5?18 for cyclone iv e plls. 1 input and output delays are fully compensated by the pll only if you are using the dedicated clock input pins associated with a given pll as the clock sources. when driving the pll using the gclk network, the input and output delays may not be fully compensated in the quartus ii software. source-synchronous mode if the data and clock arrive at the same time at the input pins, the phase relationship between the data and clock remains the same at the data and clock ports of any i/o element input register. figure 5?12 shows an example waveform of the data and clock in this mode. use this mode for source-synchronous data transfers. data and clock signals at the i/o element experience similar buffer delays as long as the same i/o standard is used. source-synchronous mode compensates for delay of the clock network used, including any difference in the delay between the following two paths: data pin to i/o element register input clock input pin to the pll phase frequency detector (pfd) input 1 set the input pin to the register delay chain in the i/o element to zero in the quartus ii software for all data pins clocked by a source-synchronous mode pll. also, all data pins must use the pll compensated logic option in the quartus ii software. figure 5?12. phase relationship between data and clock in source - synchronous mode data pin pll reference clock at inp u t pin data at register clock at register
chapter 5: clock networks and plls in cyclone iv devices 5?23 clock feedback modes ? december 2010 altera corporation cyclone iv device handbook, volume 1 no compensation mode in no compensation mode, the pll does not compensate for any clock networks. this provides better jitter performance because clock feedback into the pfd does not pass through as much circuitry. both the pll internal and external clock outputs are phase shifted with respect to the pll clock input. figure 5?13 shows a waveform example of the phase relationship of the pll clock in this mode. figure 5?13. phase relationship between pll clocks in no compensation mode notes to figure 5?13 : (1) internal clocks fed by the pll are phase - aligned to each other. (2) the pll clock outputs can lead or lag the pll input clocks. pll reference clock at the inp u t pin pll clock at the register clock port (1), (2) external pll clock o u tp u ts (2) phase aligned
5?24 chapter 5: clock networks and plls in cyclone iv devices clock feedback modes cyclone iv device handbook, volume 1 ? december 2010 altera corporation normal mode an internal clock in normal mode is phase-aligned to the input clock pin. the external clock output pin has a phase delay relative to the clock input pin if connected in this mode. the quartus ii software timing analyzer reports any phase difference between the two. in normal mode, the pll fully compensates the delay introduced by the gclk network. figure 5?14 shows a waveform example of the phase relationship of the pll clocks in this mode. figure 5?14. phase relationship between pll clocks in normal mode note to figure 5?14 : (1) the external clock output can lead or lag the pll internal clock signals. pll reference clock at the inp u t pin pll clock at the register clock port external pll clock o u tp u ts (1) phase aligned
chapter 5: clock networks and plls in cyclone iv devices 5?25 clock feedback modes ? december 2010 altera corporation cyclone iv device handbook, volume 1 zero delay buffer mode in zero delay buffer (zdb) mode, the external clock output pin is phase-aligned with the clock input pin for zero delay through the device. when using this mode, use the same i/o standard on the input clock and output clocks to guarantee clock alignment at the input and output pins. figure 5?15 shows an example waveform of the phase relationship of the pll clocks in zdb mode. deterministic latency compensation mode the deterministic latency mode compensates for the delay of the multipurpose plls through the clock network and serializer in common public radio interface (cpri) applications. in this mode, the pll pfd feedback path compensates the latency uncertainty in tx dataout and tx clkout paths relative to the reference clock. figure 5?15. phase relationship between pll clocks in zdb mode pll reference clock at the inp u t pin pll clock at the register clock port external pll clock o u tp u t at the o u tp u t pin phase aligned
5?26 chapter 5: clock networks and plls in cyclone iv devices hardware features cyclone iv device handbook, volume 1 ? december 2010 altera corporation hardware features cyclone iv plls support several features for general-purpose clock management. this section discusses clock multiplication and division implementation, phase shifting implementations, and programmable duty cycles. clock multiplication and division each cyclone iv pll provides clock synthesis for pll output ports using m/(n*post-scale counter) scaling factors. the input clock is divided by a pre-scale factor, n, and is then multiplied by the m feedback factor. the control loop drives the vco to match f in (m/n). each output port has a unique post-scale counter that divides down the high-frequency vco. for multiple pll outputs with different frequencies, the vco value is the least common multiple of the output frequencies that meets its frequency specifications. for example, if output frequencies required from one pll are 33 and 66 mhz, the quartus ii software sets the vco to 660 mhz (the least common multiple of 33 and 66 mhz in the vco range). then, the post-scale counters scale down the vco frequency for each output port. there is one pre-scale counter, n, and one multiply counter, m, per pll, with a range of 1 to 512 for both m and n. the n counter does not use duty cycle control because the purpose of this counter is only to calculate frequency division. there are five generic post-scale counters per pll that can feed gclks or external clock outputs. these post-scale counters range from 1 to 512 with a 50% duty cycle setting. the post-scale counters range from 1 to 256 with any non-50% duty cycle setting. the sum of the high/low count values chosen for a design selects the divide value for a given counter. the quartus ii software automatically chooses the appropriate scaling factors according to the input frequency, multiplication, and division values entered into the altpll megafunction. 1 phase alignment between output counters is determined using the t pll_pserr specification.
chapter 5: clock networks and plls in cyclone iv devices 5?27 hardware features ? december 2010 altera corporation cyclone iv device handbook, volume 1 post-scale counter cascading plls of cyclone iv devices support post-scale counter cascading to create counters larger than 512. this is implemented by feeding the output of one c counter into the input of the next c counter, as shown in figure 5?16 . when cascading counters to implement a larger division of the high-frequency vco clock, the cascaded counters behave as one counter with the product of the individual counter settings. for example, if c0 = 4 and c1 = 2, the cascaded value is c0 c1 = 8. 1 post-scale counter cascading is automatically set by the quartus ii software in the configuration file. post-scale counter cascading cannot be performed using the pll reconfiguration. programmable duty cycle the programmable duty cycle allows plls to generate clock outputs with a variable duty cycle. this feature is supported on the pll post-scale counters. you can achieve the duty cycle setting by a low and high time count setting for the post-scale counters. the quartus ii software uses the frequency input and the required multiply or divide rate to determine the duty cycle choices. the post-scale counter value determines the precision of the duty cycle. the precision is defined by 50% divided by the post-scale counter value. for example, if the c0 counter is 10, steps of 5% are possible for duty cycle choices between 5 to 90%. combining the programmable duty cycle with programmable phase shift allows the generation of precise non-overlapping clocks. figure 5?16. counter cascading c0 c1 c2 c3 c4 vco o u tp u t vco o u tp u t vco o u tp u t vco o u tp u t vco o u tp u t vco o u tp u t
5?28 chapter 5: clock networks and plls in cyclone iv devices hardware features cyclone iv device handbook, volume 1 ? december 2010 altera corporation pll control signals you can use the pfdena , areset , and locked signals to observe and control the pll operation and resynchronization. f for more information about the pll control signals, refer to the altpll megafunction user guide . clock switchover the clock switchover feature allows the pll to switch between two reference input clocks. use this feature for clock redundancy or for a dual-clock domain application, such as a system that turns on the redundant clock if the previous clock stops running. your design can automatically perform clock switchover when the clock is no longer toggling, or based on the user control signal, clkswitch . automatic clock switchover plls of cyclone iv devices support a fully configurable clock switchover capability. when the current reference clock is not present, the clock-sense block automatically switches to the backup clock for pll reference. the clock switchover circuit also sends out three status signals? clkbad0 , clkbad1 , and activeclock ?from the pll to implement a custom switchover circuit. you can select a clock source at the backup clock by connecting it to the inclk1 port of the pll in your design. figure 5?17 shows the block diagram of the switchover circuit built into the pll. figure 5?17. automatic clock switchover circuit switchover state machine clock sense n counter pfd clkswitch (provides manual switchover support) activeclock clkbad1 clkbad0 muxout inclk0 inclk1 refclk fbclk clksw
chapter 5: clock networks and plls in cyclone iv devices 5?29 hardware features ? december 2010 altera corporation cyclone iv device handbook, volume 1 there are two ways to use the clock switchover feature: use the switchover circuitry for switching from inclk0 to inclk1 running at the same frequency. for example, in applications that require a redundant clock with the same frequency as the reference clock, the switchover state machine generates a signal that controls the multiplexer select input shown in figure 5?17 . in this case, inclk1 becomes the reference clock for the pll. this automatic switchover can switch back and forth between the inclk0 and inclk1 clocks any number of times, when one of the two clocks fails and the other clock is available. use the clkswitch input for user- or system-controlled switch conditions. this is possible for same-frequency switchover or to switch between inputs of different frequencies. for example, if inclk0 is 66 mhz and inclk1 is 200 mhz, you must control the switchover because the automatic clock-sense circuitry cannot monitor primary and secondary clock frequencies with a frequency difference of more than 20%. this feature is useful when clock sources can originate from multiple cards on the backplane, requiring a system-controlled switchover between frequencies of operation. choose the secondary clock frequency so the vco operates in the recommended frequency range. also, set the m , n , and c counters accordingly to keep the vco operating frequency in the recommended range. figure 5?18 shows a waveform example of the switchover feature when using automatic loss of clock detection. here, the inclk0 signal remains low. after the inclk0 signal remains low for approximately two clock cycles, the clock-sense circuitry drives the clkbad0 signal high. also, because the reference clock signal is not toggling, the switchover state machine controls the multiplexer through the clksw signal to switch to inclk1 . figure 5?18. automatic switchover upon clock loss detection (note 1) note to figure 5?18 : (1) switchover is enabled on the falling edge of inclk0 or inclk1 , depending on which clock is available. in this figure, switchover is enabled on the falling edge of inclk1 . inclk0 inclk1 m u xo u t clk b ad0 clk b ad1 (1) acti v eclock
5?30 chapter 5: clock networks and plls in cyclone iv devices hardware features cyclone iv device handbook, volume 1 ? december 2010 altera corporation manual override if you are using the automatic switchover, you must switch input clocks with the manual override feature with the clkswitch input. figure 5?19 shows an example of a waveform illustrating the switchover feature when controlled by clkswitch . in this case, both clock sources are functional and inclk0 is selected as the reference clock. a low-to-high transition of the clkswitch signal starts the switchover sequence. the clkswitch signal must be high for at least three clock cycles (at least three of the longer clock period if inclk0 and inclk1 have different frequencies). on the falling edge of inclk0 , the reference clock of the counter, muxout , is gated off to prevent any clock glitching. on the falling edge of inclk1 , the reference clock multiplexer switches from inclk0 to inclk1 as the pll reference. on the falling edge of inclk1 , the reference clock multiplexer switches from inclk0 to inclk1 as the pll reference, and the activeclock signal changes to indicate which clock is currently feeding the pll. in this mode, the activeclock signal mirrors the clkswitch signal. as both blocks are still functional during the manual switch, neither clkbad signals go high. because the switchover circuit is positive edge-sensitive, the falling edge of the clkswitch signal does not cause the circuit to switch back from inclk1 to inclk0 . when the clkswitch signal goes high again, the process repeats. the clkswitch signal and the automatic switch only works depending on the availability of the clock that is switched to. if the clock is unavailable, the state machine waits until the clock is available. 1 when clkswitch = 1, it overrides the automatic switch-over function. as long as clkswitch signal is high, further switch-over action is blocked. figure 5?19. clock switchover using the clkswitch control (1) note to figure 5?19 : (1) both inclk0 and inclk1 must be running when the clkswitch signal goes high to start a manual clock switchover event. inclk0 inclk1 m u xo u t clks w itch acti v eclock clk b ad0 clk b ad1
chapter 5: clock networks and plls in cyclone iv devices 5?31 hardware features ? december 2010 altera corporation cyclone iv device handbook, volume 1 manual clock switchover plls of cyclone iv devices support manual switchover, in which the clkswitch signal controls whether inclk0 or inclk1 is the input clock to the pll. the characteristics of a manual switchover are similar to the manual override feature in an automatic clock switchover, in which the switchover circuit is edge-sensitive. when the clkswitch signal goes high, the switchover sequence starts. the falling edge of the clkswitch signal does not cause the circuit to switch back to the previous input clock. f for more information about pll software support in the quartus ii software, refer to the altpll megafunction user guide . guidelines use the following guidelines to design with clock switchover in plls: clock loss detection and automatic clock switchover require the inclk0 and inclk1 frequencies be within 20% of each other. failing to meet this requirement causes the clkbad0 and clkbad1 signals to function improperly. when using manual clock switchover, the difference between inclk0 and inclk1 can be more than 20%. however, differences between the two clock sources (frequency, phase, or both) can cause the pll to lose lock. resetting the pll ensures that the correct phase relationships are maintained between the input and output clocks. both inclk0 and inclk1 must be running when the clkswitch signal goes high to start the manual clock switchover event. failing to meet this requirement causes the clock switchover to malfunction. applications that require a clock switchover feature and a small frequency drift must use a low-bandwidth pll. when referencing input clock changes, the low-bandwidth pll reacts slower than a high-bandwidth pll. when the switchover happens, the low-bandwidth pll propagates the stopping of the clock to the output slower than the high-bandwidth pll. the low-bandwidth pll filters out jitter on the reference clock. however, the low-bandwidth pll also increases lock time. after a switchover occurs, there may be a finite resynchronization period for the pll to lock onto a new clock. the exact amount of time it takes for the pll to re-lock is dependent on the pll configuration. if the phase relationship between the input clock to the pll and output clock from the pll is important in your design, assert areset for 10 ns after performing a clock switchover. wait for the locked signal (or gated lock) to go high before re-enabling the output clocks from the pll. figure 5?20 shows how the vco frequency gradually decreases when the primary clock is lost and then increases as the vco locks on to the secondary clock. after the vco locks on to the secondary clock, some overshoot can occur (an over-frequency condition) in the vco frequency.
5?32 chapter 5: clock networks and plls in cyclone iv devices programmable bandwidth cyclone iv device handbook, volume 1 ? december 2010 altera corporation disable the system during switchover if the system is not tolerant to frequency variations during the pll resynchronization period. you can use the clkbad0 and clkbad1 status signals to turn off the pfd ( pfdena = 0 ) so the vco maintains its last frequency. you can also use the switchover state machine to switch over to the secondary clock. upon enabling the pfd, output clock enable signals ( clkena ) can disable clock outputs during the switchover and resynchronization period. after the lock indication is stable, the system can re-enable the output clock or clocks. programmable bandwidth the pll bandwidth is the measure of the pll?s ability to track the input clock and its associated jitter. plls of cyclone iv devices provide advanced control of the pll bandwidth using the programmable characteristics of the pll loop, including loop filter and charge pump. the closed-loop gain 3-db frequency in the pll determines the pll bandwidth. the bandwidth is approximately the unity gain point for open loop pll response. phase shift implementation phase shift is used to implement a robust solution for clock delays in cyclone iv devices. phase shift is implemented with a combination of the vco phase output and the counter starting time. the vco phase output and counter starting time are the most accurate methods of inserting delays, because they are based only on counter settings that are independent of process, voltage, and temperature. you can phase shift the output clocks from the plls of cyclone iv devices in one of two ways: fine resolution using vco phase taps coarse resolution using counter starting time fine resolution phase shifts are implemented by allowing any of the output counters ( c[4..0] ) or the m counter to use any of the eight phases of the vco as the reference clock. this allows you to adjust the delay time with a fine resolution. figure 5?20. vco switchover operating frequency f v co primary clock stops r u nning s w itcho v er occ u rs vco tracks secondary cloc k fre qu ency o v ershoot
chapter 5: clock networks and plls in cyclone iv devices 5?33 phase shift implementation ? december 2010 altera corporation cyclone iv device handbook, volume 1 equation 5?1 shows the minimum delay time that you can insert using this method. in which f ref is the input reference clock frequency. for example, if f ref is 100 mhz, n = 1, and m = 8, then f vco = 800 mhz, and ? fine = 156.25 ps. the pll operating frequency defines this phase shift, a value that depends on reference clock frequency and counter settings. coarse resolution phase shifts are implemented by delaying the start of the counters for a predetermined number of counter clocks. equation 5?2 shows the coarse phase shift. c is the count value set for the counter delay time (this is the initial setting in the pll usage section of the compilation report in the quartus ii software). if the initial value is 1, c ? 1 = 0 phase shift. figure 5?21 shows an example of phase shift insertion using fine resolution through vco phase taps method. the eight phases from the vco are shown and labeled for reference. in this example, clk0 is based on 0 phase from the vco and has the c value for the counter set to one. the clk1 signal is divided by four, two vco clocks for high time and two vco clocks for low time. clk1 is based on the 135 phase tap from the vco and has the c value for the counter set to one. the clk1 signal is also divided by four. in this case, the two clocks are offset by 3 ? fine . clk2 is based on the 0 phase from the vco but has the c value for the counter set to three. this creates a delay of two ? coarse (two complete vco periods). equation 5?1. fine resolution phase shift equation 5?2. coarse resolution phase shift ? fine t vco 8 ----------- 1 8 f vco ------------- - n 8 mf ref ----------------- - == = ? coarse c 1 ? f vco ----------- - c 1 ? ?? n mf ref -------------------- - ==
5?34 chapter 5: clock networks and plls in cyclone iv devices pll cascading cyclone iv device handbook, volume 1 ? december 2010 altera corporation you can use the coarse and fine phase shifts to implement clock delays in cyclone iv devices. cyclone iv devices support dynamic phase shifting of vco phase taps only. the phase shift is configurable for any number of times. each phase shift takes about one scanclk cycle, allowing you to implement large phase shifts quickly. pll cascading cyclone iv devices allow cascading between general purpose plls and multipurpose plls in normal or direct mode through the gclk network. if your design cascades plls, the source (upstream) pll must have a low-bandwidth setting, while the destination (downstream) pll must have a high-bandwidth setting. 1 pll_6 and pll7 have upstream cascading capability only. figure 5?21. delay insertion using vco phase output and counter delay time t d0-1 t d0-2 1/8 t vco t vco 0 90 135 1 8 0 225 270 315 clk0 clk1 clk2 45
chapter 5: clock networks and plls in cyclone iv devices 5?35 pll reconfiguration ? december 2010 altera corporation cyclone iv device handbook, volume 1 pll reconfiguration plls use several divide counters and different vco phase taps to perform frequency synthesis and phase shifts. in plls of cyclone iv devices, you can reconfigure both counter settings and phase shift the pll output clock in real time. you can also change the charge pump and loop filter components, which dynamically affects pll bandwidth. you can use these pll components to update the output clock frequency, pll bandwidth, and phase shift in real time, without reconfiguring the entire fpga. the ability to reconfigure the pll in real time is useful in applications that might operate at multiple frequencies. it is also useful in prototyping environments, allowing you to sweep pll output frequencies and adjust the output clock phase dynamically. for instance, a system generating test patterns is required to generate and send patterns at 75 or 150 mhz, depending on the requirements of the device under test. reconfiguring pll components in real time allows you to switch between two such output frequencies in a few microseconds. you can also use this feature to adjust clock-to-out (t co ) delays in real time by changing the pll output clock phase shift. this approach eliminates the need to regenerate a configuration file with the new pll settings. pll reconfiguration hardware implementation the following pll components are configurable in real time: pre-scale counter (n) feedback counter (m) post-scale output counters ( c0?c4 ) dynamically adjust the charge pump current (i cp ) and loop filter components (r, c) to facilitate on-the-fly reconfiguration of the pll bandwidth figure 5?22 shows how to adjust pll counter settings dynamically by shifting their new settings into a serial shift register chain or scan chain. serial data shifts to the scan chain via the scandataport , and shift registers are clocked by scanclk . the maximum scanclk frequency is 100 mhz. after shifting the last bit of data, asserting the configupdate signal for at least one scanclk clock cycle synchronously updates the pll configuration bits with the data in the scan registers.
5?36 chapter 5: clock networks and plls in cyclone iv devices pll reconfiguration cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 the counter settings are updated synchronously to the clock frequency of the individual counters. therefore, not all counters update simultaneously. to reconfigure the pll counters, perform the following steps: 1. the scanclkena signal is asserted at least one scanclk cycle prior to shifting in the first bit of scandata ( d0 ). 2. serial data ( scandata ) is shifted into the scan chain on the second rising edge of scanclk . 3. after all 144 bits have been scanned into the scan chain, the scanclkena signal is de-asserted to prevent inadvertent shifting of bits in the scan chain. 4. the configupdate signal is asserted for one scanclk cycle to update the pll counters with the contents of the scan chain. 5. the scandone signal goes high indicating that the pll is being reconfigured. a falling edge indicates that the pll counters have been updated with new settings. 6. reset the pll using the areset signal if you make any changes to the m, n, post-scale output c counters, or the i cp , r, c settings. 7. you can repeat steps 1 through 5 to reconfigure the pll any number of times. figure 5?22. pll reconfiguration scan chain /c4 /c3 /c2 /c1 /c0 /m / n scanclk scandone scandata lf/k/cp config u pdate inclk pfd vco f vco scanclkena scandatao u t from m co u nter from n co u nter
chapter 5: clock networks and plls in cyclone iv devices 5?37 pll reconfiguration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 5?23 shows a functional simulation of the pll reconfiguration feature. 1 when reconfiguring the counter clock frequency, the corresponding counter phase shift settings cannot be reconfigured using the same interface. you can reconfigure phase shifts in real time using the dynamic phase shift reconfiguration interface. if you reconfigure the counter frequency, but wish to keep the same non-zero phase shift setting (for example, 90) on the clock output, you must reconfigure the phase shift after reconfiguring the counter clock frequency. post-scale counters (c0 to c4) you can configure multiply or divide values and duty cycle of post-scale counters in real time. each counter has an 8-bit high time setting and an 8-bit low time setting. the duty cycle is the ratio of output high or low time to the total cycle time, that is the sum of the two. additionally, these counters have two control bits, rbypass , for bypassing the counter, and rselodd , to select the output clock duty cycle. when the rbypass bit is set to 1, it bypasses the counter, resulting in a divide by one. when this bit is set to 0, the pll computes the effective division of the vco output frequency based on the high and low time counters. for example, if the post-scale divide factor is 10, the high and low count values are set to 5 and 5, to achieve a 50?50% duty cycle. the pll implements this duty cycle by transitioning the output clock from high-to-low on the rising edge of the vco output clock. however, a 4 and 6 setting for the high and low count values, respectively, would produce an output clock with a 40?60% duty cycle. figure 5?23. pll reconfiguration scan chain scandata scanclk scanclkena scandataout configupdate scandone areset d0_old dn_old dn dn (msb) d0 (lsb)
5?38 chapter 5: clock networks and plls in cyclone iv devices pll reconfiguration cyclone iv device handbook, volume 1 ? december 2010 altera corporation the rselodd bit indicates an odd divide factor for the vco output frequency with a 50% duty cycle. for example, if the post-scale divide factor is three, the high and low time count values are 2 and 1, respectively, to achieve this division. this implies a 67%?33% duty cycle. if you need a 50%?50% duty cycle, you must set the rselodd control bit to 1 to achieve this duty cycle despite an odd division factor. the pll implements this duty cycle by transitioning the output clock from high-to-low on a falling edge of the vco output clock. when you set rselodd = 1, subtract 0.5 cycles from the high time and add 0.5 cycles to the low time. for example: high time count = 2 cycles low time count = 1 cycle rselodd = 1 effectively equals: high time count = 1.5 cycles low time count = 1.5 cycles duty cycle = (1.5/3)% high time count and (1.5/3)% low time count scan chain description cyclone iv plls have a 144-bit scan chain. ta b l e 5 ?7 lists the number of bits for each component of the pll. table 5?7. cyclone iv pll reprogramming bits block name number of bits counter other total c4 (1) 16 2 (2) 18 c3 16 2 (2) 18 c2 16 2 (2) 18 c1 16 2 (2) 18 c0 16 2 (2) 18 m162 (2) 18 n162 (2) 18 charge pump 9 0 9 loop filter (3) 909 total number of bits: 144 notes to table 5?7 : (1) lsb bit for c4 low - count value is the first bit shifted into the scan chain. (2) these two control bits include rbypass , for bypassing the counter, and rselodd , to select the output clock duty cycle. (3) msb bit for loop filter is the last bit shifted into the scan chain.
chapter 5: clock networks and plls in cyclone iv devices 5?39 pll reconfiguration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 5?24 shows the scan chain order of the pll components. figure 5?25 shows the scan chain bit order sequence for one pll post-scale counter in plls of cyclone iv devices. charge pump and loop filter you can reconfigure the charge pump and loop filter settings to update the pll bandwidth in real time. table 5?8 through table 5?10 list the possible settings for charge pump current (i cp ), loop filter resistor (r) , and capacitor (c) values for plls of cyclone iv devices. figure 5?24. pll component scan chain order data i n c1 c2 c3 c4 datao u t msb lf cp lsb n mc0 figure 5?25. scan chain bit order datai n r b ypass hb 7 hb 6 hb 5 hb 4 hb 3 hb 2 hb 1 hb 0 rselodd lb 7 lb 6 lb 5 lb 4 lb 3 lb 2 lb 1 lb 0 dataout hb 9 hb 8 lb 9 lb 8 table 5?8. charge pump bit control cp[2] cp[1] cp[0] setting (decimal) 0000 1001 1103 1117 table 5?9. loop filter resistor value control (part 1 of 2) lfr[4] lfr[3] lfr[ 2] lfr[1] lfr[0] setting (decimal) 000000 000113 001004 010008 1000016 1001119 1010020
5?40 chapter 5: clock networks and plls in cyclone iv devices pll reconfiguration cyclone iv device handbook, volume 1 ? december 2010 altera corporation bypassing a pll counter bypassing a pll counter results in a divide (n, c0 to c4 counters) factor of one. ta b l e 5 ?11 lists the settings for bypassing the counters in plls of cyclone iv devices. to bypass any of the pll counters, set the bypass bit to 1. the values on the other bits are then ignored. 1100024 1101127 1110028 1111030 table 5?10. loop filter control of high frequency capacitor lfc[1] lfc[0] setting (decimal) 000 011 113 table 5?11. pll counter settings pll scan chain bits [0..8] settings description lsb msb x x x x x x x x 1 (1) pll counter bypassed x x x x x x x x 0 (1) pll counter not bypassed note to table 5?11 : (1) bypass bit. table 5?9. loop filter resistor value control (part 2 of 2) lfr[4] lfr[3] lfr[ 2] lfr[1] lfr[0] setting (decimal)
chapter 5: clock networks and plls in cyclone iv devices 5?41 pll reconfiguration ? december 2010 altera corporation cyclone iv device handbook, volume 1 dynamic phase shifting the dynamic phase shifting feature allows the output phase of individual pll outputs to be dynamically adjusted relative to each other and the reference clock without sending serial data through the scan chain of the corresponding pll. this feature simplifies the interface and allows you to quickly adjust t co delays by changing output clock phase shift in real time. this is achieved by incrementing or decrementing the vco phase-tap selection to a given c counter or to the m counter. the phase is shifted by 1/8 the vco frequency at a time. the output clocks are active during this phase reconfiguration process. ta b l e 5 ?1 2 lists the control signals that are used for dynamic phase shifting. ta b l e 5 ?1 3 lists the pll counter selection based on the corresponding phasecounterselect setting. table 5?12. dynamic phase shifting control signals signal name description source destination phasecounterselect[2..0] counter select. three bits decoded to select either the m or one of the c counters for phase adjustment. one address map to select all c counters. this signal is registered in the pll on the rising edge of scanclk . logic array or i/o pins pll reconfiguration circuit phaseupdown selects dynamic phase shift direction; 1= up, 0 = down. signal is registered in the pll on the rising edge of scanclk . logic array or i/o pins pll reconfiguration circuit phasestep logic high enables dynamic phase shifting. logic array or i/o pins pll reconfiguration circuit scanclk free running clock from core used in combination with phasestep to enable or disable dynamic phase shifting. shared with scanclk for dynamic reconfiguration. gclk or i/o pins pll reconfiguration circuit phasedone when asserted, it indicates to core logic that the phase adjustment is complete and pll is ready to act on a possible second adjustment pulse. asserts based on internal pll timing. de - asserts on the rising edge of scanclk . pll reconfiguration circuit logic array or i/o pins table 5?13. phase counter select mapping phasecounterselect selects [2] [1] [0] 000 all output counters 001 m counter 010 c0 counter 011 c1 counter 100 c2 counter 101 c3 counter 110 c4 counter
5?42 chapter 5: clock networks and plls in cyclone iv devices pll reconfiguration cyclone iv device handbook, volume 1 ? december 2010 altera corporation to perform one dynamic phase shift step, follow these steps: 1. set phaseupdown and phasecounterselect as required. 2. assert phasestep for at least two scanclk cycles. each phasestep pulse enables one phase shift. 3. de-assert phasestep . 4. wait for phasedone to go high. 5. you can repeat steps 1 through 4 as many times as required to get multiple phase shifts. all signals are synchronous to scanclk , so they are latched on the scanclk edges and must meet t su or t h requirements (with respect to the scanclk edges). dynamic phase shifting can be repeated indefinitely. all signals are synchronous to scanclk , so they must meet t su or t h requirements (with respect to scanclk edges). the phasestep signal is latched on the negative edge of scanclk . in figure 5?26 , this is shown by the second scanclk falling edge. phasestep must stay high for at least two scanclk cycles. on the second scanclk rising edge after phasestep is latched (indicated by the fourth rising edge), the values of phaseupdown and phasecounterselect are latched and the pll starts dynamic phase shifting for the specified counter or counters and in the indicated direction. on the fourth scanclk rising edge, phasedone goes high to low and remains low until the pll finishes dynamic phase shifting. you can perform another dynamic phase shift after the phasedone signal goes from low to high. depending on the vco and scanclk frequencies, the phasedone low time may be greater than or less than one scanclk cycle. after phasedone goes from low to high, you can perform another dynamic phase shift. phasestep pulses must be at least one scanclk cycle apart. f for information about the altpll_reconfig megawizard ? plug-in manager , refer to the altpll_reconfig megafunction user guide . figure 5?26. pll dynamic phase shift phaseupdown phasecounterselect scanclk phasestep phasedone
chapter 5: clock networks and plls in cyclone iv devices 5?43 spread-spectrum clocking ? december 2010 altera corporation cyclone iv device handbook, volume 1 spread-spectrum clocking cyclone iv devices can accept a spread-spectrum input with typical modulation frequencies. however, the device cannot automatically detect that the input is a spread-spectrum signal. instead, the input signal looks like deterministic jitter at the input of the pll. plls of cyclone iv devices can track a spread-spectrum input clock as long as it is in the input jitter tolerance specifications and the modulation frequency of the input clock is below the pll bandwidth, that is specified in the fitter report. cyclone iv devices cannot generate spread-spectrum signals internally. pll specifications f for information about pll specifications, refer to the cyclone iv device datasheet chapter. document revision history ta b l e 5 ?1 4 lists the revision history for this chapter. table 5?14. document revision history date version changes made december 2010 2.2 updated for the quartus ii software version 10.1 release. updated figure 5?3 and figure 5?10 . updated ?gclk network clock source generation? , ?plls in cyclone iv devices? , and ?manual override? sections. minor text edits. july 2010 2.1 updated figure 5?2, figure 5?3, figure 5?4, and figure 5?10. updated table 5?1, table 5?2, and table 5?5. updated ?clock feedback modes? section. february 2010 2.0 added cyclone iv e devices information for the quartus ii software version 9.1 sp1 release. updated ?clock networks? section. updated table 5?1 and table 5?2. added table 5?3. updated figure 5?2, figure 5?3, and figure 5?9. added figure 5?4 and figure 5?10. november 2009 1.0 initial release.
5?44 chapter 5: clock networks and plls in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? december 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 1 section ii. i/o interfaces this section provides information about cyclone ? iv device family i/o features and high-speed differential and external memory interfaces. this section includes the following chapters: chapter 6, i/o features in cyclone iv devices chapter 7, external memory interfaces in cyclone iv devices revision history refer to each chapter for its own specific revision history. for information about when each chapter was updated, refer to the chapter revision dates section, which appears in the complete handbook.

? december 2010 altera corporation cyclone iv device handbook, volume 1 6. i/o features in cyclone iv devices this chapter describes the i/o and high speed i/o capabilities and features offered in cyclone ? iv devices. the i/o capabilities of cyclone iv devices are driven by the diversification of i/o standards in many low-cost applications, and the significant increase in required i/o performance. altera?s objective is to create a device that accommodates your key board design needs with ease and flexibility. the i/o flexibility of cyclone iv devices is increased from the previous generation low-cost fpgas by allowing all i/o standards to be selected on all i/o banks. improvements to on-chip termination (oct) support and the addition of true differential buffers have eliminated the need for external resistors in many applications, such as display system interfaces. high-speed differential i/o standards have become popular in high-speed interfaces because of their significant advantages over single-ended i/o standards. the cyclone iv devices support lvds, blvds, rsds, mini-lvds, and ppds. the transceiver reference clocks and the existing general-purpose i/o (gpio) clock input features also support the lvds i/o standards. the quartus ? ii software completes the solution with powerful pin planning features that allow you to plan and optimize i/o system designs even before the design files are available. this chapter includes the following sections: ?cyclone iv i/o elements? on page 6?2 ?i/o element features? on page 6?3 ?oct support? on page 6?7 ?i/o standards? on page 6?12 ?termination scheme for i/o standards? on page 6?13 ?i/o banks? on page 6?16 ?pad placement and dc guidelines? on page 6?22 ?clock pins functionality? on page 6?23 ?high-speed i/o interface? on page 6?23 ?high-speed i/o standards support? on page 6?27 ?true output buffer feature? on page 6?35 ?high-speed i/o timing? on page 6?36 ?design guidelines? on page 6?38 ?software overview? on page 6?39 cyiv-51006-2.2
6?2 chapter 6: i/o features in cyclone iv devices cyclone iv i/o elements cyclone iv device handbook, volume 1 ? december 2010 altera corporation cyclone iv i/o elements cyclone iv i/o elements (ioes) contain a bidirectional i/o buffer and five registers for registering input, output, output-enable signals, and complete embedded bidirectional single-data rate transfer. i/o pins support various single-ended and differential i/o standards. the ioe contains one input register, two output registers, and two output-enable (oe) registers. the two output registers and two oe registers are used for ddr applications. you can use input registers for fast setup times and output registers for fast clock-to-output times. additionally, you can use oe registers for fast clock-to-output enable timing. you can use ioes for input, output, or bidirectional data paths. figure 6?1 shows the cyclone iv devices ioe structure for single data rate (sdr) operation. figure 6?1. cyclone iv ioes in a bidirectio nal i/o configuration for sdr mode d q e n a d q e n a v ccio v ccio optional pci clamp programma b l e p u ll-up resistor bus hold inp u t pin to inp u t register delay or inp u t pin to logic array delay o u tp u t pin delay clkin oe_in data_in0 data_in1 sclr/ preset chip- w ide reset aclr/prn oe_o u t clko u t oe oe register c u rrent strength control open-drain o u t col u mn or ro w interconnect io_clk[5..0] sle w rate control aclr /pr n aclr /pr n o u tp u t register d q e n a aclr /pr n inp u t register
chapter 6: i/o features in cyclone iv devices 6?3 i/o element features ? december 2010 altera corporation cyclone iv device handbook, volume 1 i/o element features the cyclone iv ioe offers a range of programmable features for an i/o pin. these features increase the flexibility of i/o utilization and provide a way to reduce the usage of external discrete components, such as pull-up resistors and diodes. programmable current strength the output buffer for each cyclone iv i/o pin has a programmable current strength control for certain i/o standards. the lvttl, lvcmos, sstl-2 class i and ii, sstl-18 class i and ii, hstl-18 class i and ii, hstl-15 class i and ii, and hstl-12 class i and ii i/o standards have several levels of current strength that you can control. table 6?2 on page 6?7 shows the possible settings for i/o standards with current strength control. these programmable current strength settings are a valuable tool in helping decrease the effects of simultaneously switching outputs (sso) in conjunction with reducing system noise. the supported settings ensure that the device driver meets the specifications for ioh and iol of the corresponding i/o standard. 1 when you use programmable current strength, on-chip series termination (r s oct) is not available. slew rate control the output buffer for each cyclone iv i/o pin provides optional programmable output slew-rate control. table 6?2 on page 6?7 shows the possible slew rate option and the quartus ii default slew rate setting. however, these fast transitions may introduce noise transients in the system. a slower slew rate reduces system noise, but adds a nominal delay to rising and falling edges. because each i/o pin has an individual slew-rate control, you can specify the slew rate on a pin-by-pin basis. the slew-rate control affects both the rising and falling edges. slew rate control is available for single-ended i/o standards with current strength of 8 ma or higher. 1 you cannot use the programmable slew rate feature when using oct with calibration. 1 you cannot use the programmable slew rate feature when using the 3.0-v pci, 3.0-v pci-x, 3.3-v lvttl, or 3.3-v lvcmos i/o standards. only the fast slew rate (default) setting is available. open-drain output cyclone iv devices provide an optional open-drain (equivalent to an open-collector) output for each i/o pin. this open-drain output enables the device to provide system-level control signals (for example, interrupt and write enable signals) that are asserted by multiple devices in your system.
6?4 chapter 6: i/o features in cyclone iv devices i/o element features cyclone iv device handbook, volume 1 ? december 2010 altera corporation bus hold each cyclone iv device user i/o pin provides an optional bus-hold feature. the bus-hold circuitry holds the signal on an i/o pin at its last-driven state. because the bus-hold feature holds the last-driven state of the pin until the next input signal is present, an external pull-up or pull-down resistor is not necessary to hold a signal level when the bus is tri-stated. the bus-hold circuitry also pulls undriven pins away from the input threshold voltage in which noise can cause unintended high-frequency switching. you can select this feature individually for each i/o pin. the bus-hold output drives no higher than v ccio to prevent overdriving signals. 1 if you enable the bus-hold feature, the device cannot use the programmable pull-up option. disable the bus-hold feature when the i/o pin is configured for differential signals. bus-hold circuitry is not available on dedicated clock pins. bus-hold circuitry is only active after configuration. when going into user mode, the bus-hold circuit captures the value on the pin present at the end of configuration. f for the specific sustaining current for each v ccio voltage level driven through the resistor and for the overdrive current used to identify the next driven input level, refer to the cyclone iv device datasheet chapter. programmable pull-up resistor each cyclone iv device i/o pin provides an optional programmable pull-up resistor while in user mode. if you enable this feature for an i/o pin, the pull-up resistor holds the output to the v ccio level of the output pin?s bank. 1 if you enable the programmable pull-up resistor, the device cannot use the bus-hold feature. programmable pull-up resistors are not supported on the dedicated configuration, jtag, and dedicated clock pins. 1 when the optional dev_oe signal drives low, all i/o pins remains tri-stated even with the programmable pull-up option enabled. programmable delay the cyclone iv ioe includes programmable delays to ensure zero hold times, minimize setup times, increase clock-to-output times, and delay the clock input signal. a path in which a pin directly drives a register may require a programmable delay to ensure zero hold time, whereas a path in which a pin drives a register through combinational logic may not require the delay. programmable delays minimize setup time. the quartus ii compiler can program these delays to automatically minimize setup time while providing a zero hold time. programmable delays can increase the register-to-pin delays for output registers. each dual-purpose clock input pin provides a programmable delay to the global clock networks.
chapter 6: i/o features in cyclone iv devices 6?5 i/o element features ? december 2010 altera corporation cyclone iv device handbook, volume 1 ta b l e 6 ?1 shows the programmable delays for cyclone iv devices. there are two paths in the ioe for an input to reach the logic array. each of the two paths can have a different delay. this allows you to adjust delays from the pin to the internal logic element (le) registers that reside in two different areas of the device. you must set the two combinational input delays with the input delay from pin to internal cells logic option in the quartus ii software for each path. if the pin uses the input register, one of the delays is disregarded and the delay is set with the input delay from pin to input register logic option in the quartus ii software. the ioe registers in each i/o block share the same source for the preset or clear features. you can program preset or clear for each individual ioe, but you cannot use both features simultaneously. you can also program the registers to power-up high or low after configuration is complete. if programmed to power-up low, an asynchronous clear can control the registers. if programmed to power-up high, an asynchronous preset can control the registers. this feature prevents the inadvertent activation of the active-low input of another device upon power-up. if one register in an ioe uses a preset or clear signal, all registers in the ioe must use that same signal if they require preset or clear. additionally, a synchronous reset signal is available for the ioe registers. f for more information about the input and output pin delay settings, refer to the area and timing optimization chapter in volume 2 of the quartus ii handbook . table 6?1. cyclone iv devices programmable delay chain programmable delay quartus ii logic option input pin-to-logic array delay input delay from pin to internal cells input pin-to-input register delay input delay from pin to input register output pin delay (1) delay from output register to output pin dual-purpose clock input pin delay input delay from dual-purpose clock pin to fan-out destinations note to table 6?1 : (1) cyclone iv e devices do not support delay from output register to output pin.
6?6 chapter 6: i/o features in cyclone iv devices i/o element features cyclone iv device handbook, volume 1 ? december 2010 altera corporation pci-clamp diode cyclone iv devices provide an optional pci-clamp diode enabled input and output for each i/o pin. dual-purpose configuration pins support the diode in user mode if the specific pins are not used as configuration pins for the selected configuration scheme. for example, if you are using the active serial (as) configuration scheme, you cannot use the clamp diode on the asdo and ncso pins in user mode. dedicated configuration pins do not support the on-chip diode. the pci-clamp diode is available for the following i/o standards: 3.3-v lvttl 3.3-v lvcmos 3.0-v lvttl 3.0-v lvcmos 2.5-v lvttl/lvcmos pci pci-x if the input i/o standard is one of the listed standards, the pci-clamp diode is enabled by default in the quartus ii software.
chapter 6: i/o features in cyclone iv devices 6?7 oct support ? december 2010 altera corporation cyclone iv device handbook, volume 1 oct support cyclone iv devices feature oct to provide i/o impedance matching and termination capabilities. oct helps prevent reflections and maintain signal integrity while minimizing the need for external resistors in high pin-count ball grid array (bga) packages. cyclone iv devices provide i/o driver on-chip impedance matching and r s oct for single-ended outputs and bidirectional pins. 1 when using r s oct, programmable current strength is not available. there are two ways to implement oct in cyclone iv devices: oct with calibration oct without calibration ta b l e 6 ?2 lists the i/o standards that support impedance matching and series termination. table 6?2. cyclone iv device i/o features support (part 1 of 2) i/o standard ioh/iol current strength setting (ma) (1) r s oct with calibration setting, ohm ( ? ) r s oct without calibration setting, ohm ( ? ) cyclone iv e i/o banks support cyclone iv gx i/o banks support slew rate option (6) pci- clamp diode support column i/o row i/o column i/o row i/o (8) column i/o row i/o (8) 3.3-v lvttl 4,8 4,8 ? ? ? ? 1,2,3,4, 5,6,7,8 3,4,5,6, 7,8,9 ? v 3.3-v lvcmos 2 2 ? ? ? ? ? v 3.0-v lvttl 4,8,12,16 4,8,12,16 50,25 50,25 50,25 50,25 0,1, 2 v 3.0-v lvcmos 4,8,12,16 4,8,12,16 50,25 50,25 50,25 50,25 v 3.0-v pci/pci-x ? ? ? ? ? ? ? v 2.5-v lvttl/lvcmos 4,8,12,16 4,8,12,16 50,25 50,25 50,25 50,25 0,1, 2 v 1.8-v lvttl/lvcmos 2,4,6,8,10,12,16 2,4,6,8,10,12,16 50,25 50,25 50,25 50,25 ? 1.5-v lvcmos 2,4,6,8,10,12,16 2,4,6,8,10,12,16 50,25 50,25 50,25 50,25 ? 1.2-v lvcmos 2,4,6,8,10,12 2,4,6,8,10 50,25 50 50,25 50 4,5,6,7,8 ? sstl-2 class i 8,12 8,12 50 50 50 50 3,4,5,6, 7,8,9 ? sstl-2 class ii 16 16 25 25 25 25 ? sstl-18 class i 8,10,12 8,10,12 50 50 50 50 ? sstl-18 class ii 12,16 12,16 25 25 25 25 ? hstl-18 class i 8,10,12 8,10,12 50 50 50 50 ? hstl-18 class ii 16 16 25 25 25 25 ? hstl-15 class i 8,10,12 8,10,12 50 50 50 50 ? hstl-15 class ii 16 16 25 25 25 25 ? hstl-12 class i 8,10,12 8,10 50 50 50 50 4,5,6,7,8 ? hstl-12 class ii 14 ? 25 ? 25 ? 3,4,7,8 4,7,8 ?
6?8 chapter 6: i/o features in cyclone iv devices oct support cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 for more details about the differential i/o standards supported in cyclone iv i/o banks, refer to ?high-speed i/o interface? on page 6?23 . differential sstl-2 class i (2) , (7) 8,12 8,12 50 50 50 50 1,2,3,4, 5,6,7,8 3,4,5,6, 7,8 0,1, 2 ? differential sstl-2 class ii (2) , (7) 16 16 25 25 25 25 ? differential sstl-18 (2) , (7) 8,10,12 ? 50 ? 50 ? ? differential hstl-18 (2) , (7) 8,10,12 ? 50 ? 50 ? ? differential hstl-15 (2) , (7) 8,10,12 ? 50 ? 50 ? ? differential hstl-12 (2) , (7) 8,10,12 ? 50 ? 50 ? 3,4,7,8 4,7,8 ? blvds 8,12,16 8,12,16 ? ? ? ? 1,2,3,4, 5,6,7,8 3,4,5,6, 7,8 0,1, 2 ? lvds (3) ? ? ???? 5,6 ?? ppds (3) , (4) ? ? ???? ?? rsds and mini-lvds (3) , (4) ? ? ???? ?? differential lvpecl (5) ? ? ???? 3,4,5,6, 7,8 ?? notes to table 6?2 : (1) the default current strength setting in the quartus ii software is 50- ? oct without calibration for all non-voltage reference and hstl/sstl class i i/o standards. the default setting is 25- ? oct without calibration for hstl/sstl class ii i/o standards. (2) the differential sstl-18 and sstl-2, differential hstl-18, hstl-15, and hstl-12 i/o standards are supported only on clock in put pins and pll output clock pins. (3) true differential (ppds, lvds, mini-lvds, and rsds i/o standards) outputs are supported in row i/o banks 1, 2, 5, and 6 only for cyclone iv e devices and right i/o banks 5 and 6 only for cyclone iv gx devices. differential outputs in column i/o banks require an external resistor net work. (4) this i/o standard is supported for outputs only. (5) this i/o standard is supported for clock inputs only (6) the default quartus ii slew rate setting is in bold; 2 for all i/o standards that supports slew rate option. (7) differential sstl-18, differential hstl-18, hstl-15, and hstl-12 i/o standards do not support class ii output. (8) cyclone iv gx devices only support right i/o pins. table 6?2. cyclone iv device i/o features support (part 2 of 2) i/o standard ioh/iol current strength setting (ma) (1) r s oct with calibration setting, ohm ( ? ) r s oct without calibration setting, ohm ( ? ) cyclone iv e i/o banks support cyclone iv gx i/o banks support slew rate option (6) pci- clamp diode support column i/o row i/o column i/o row i/o (8) column i/o row i/o (8)
chapter 6: i/o features in cyclone iv devices 6?9 oct support ? december 2010 altera corporation cyclone iv device handbook, volume 1 on-chip series termination with calibration cyclone iv devices support r s oct with calibration in the top, bottom, and right i/o banks. the r s oct calibration circuit compares the total impedance of the i/o buffer to the external 25- ? 1% or 50- ? 1% resistors connected to the rup and rdn pins, and dynamically adjusts the i/o buffer impedance until they match (as shown in figure 6?2 ). the r s shown in figure 6?2 is the intrinsic impedance of the transistors that make up the i/o buffer. oct with calibration is achieved using the oct calibration block circuitry. there is one oct calibration block in each of i/o banks 2, 4, 5, and 7 for cyclone iv e devices and i/o banks 4, 5, and 7 for cyclone iv gx devices. each calibration block supports each side of the i/o banks. because there are two i/o banks sharing the same calibration block, both banks must have the same v ccio if both banks enable oct calibration. if two related banks have different v ccio , only the bank in which the calibration block resides can enable oct calibration. figure 6?10 on page 6?18 shows the top-level view of the oct calibration blocks placement. each calibration block comes with a pair of rup and rdn pins. when used for calibration, the rup pin is connected to v ccio through an external 25- ? 1% or 50- ? 1% resistor for an r s oct value of 25 ? or 50 ? , respectively. the rdn pin is connected to gnd through an external 25- ? 1% or 50- ? 1% resistor for an r s oct value of 25 ? or 50 ? , respectively. the external resistors are compared with the internal resistance using comparators. the resultant outputs of the comparators are used by the oct calibration block to dynamically adjust buffer impedance. 1 during calibration, the resistance of the rup and rdn pins varies. figure 6?2. cyclone iv devices r s oct with calibration cyclone iv device family driver series termination receiving device v ccio r s r s z o g n d
6?10 chapter 6: i/o features in cyclone iv devices oct support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?3 shows the external calibration resistors setup on the rup and rdn pins and the associated oct calibration circuitry. rup and rdn pins go to a tri-state condition when calibration is completed or not running. these two pins are dual-purpose i/os and function as regular i/os if you do not use the calibration circuit. figure 6?3. cyclone iv devices r s oct with calibration setup cyclone iv device family oct with calibration with rup and rdn pins oct cali b ration circ u itry v ccio v ccio rup rd n external cali b ration resistor external cali b ration resistor g n d
chapter 6: i/o features in cyclone iv devices 6?11 oct support ? december 2010 altera corporation cyclone iv device handbook, volume 1 on-chip series termination without calibration cyclone iv devices support driver impedance matching to match the impedance of the transmission line, which is typically 25 or 50 ? . when used with the output drivers, oct sets the output driver impedance to 25 or 50 ? . cyclone iv devices also support i/o driver series termination (r s =50 ? ) for sstl-2 and sstl-18. figure 6?4 shows the single-ended i/o standards for oct without calibration. the r s shown is the intrinsic transistor impedance. all i/o banks and i/o pins support impedance matching and series termination. dedicated configuration pins and jtag pins do not support impedance matching or series termination. r s oct is supported on any i/o bank. v ccio and v ref must be compatible for all i/o pins to enable r s oct in a given i/o bank. i/o standards that support different r s values can reside in the same i/o bank as long as their v ccio and v ref do not conflict. impedance matching is implemented using the capabilities of the output driver and is subject to a certain degree of variation, depending on the process, voltage, and temperature. f for more information about tolerance specification, refer to the cyclone iv device datasheet chapter. figure 6?4. cyclone iv devices r s oct without calibration cyclone iv device driver series termination receiving device v ccio r s r s z o g n d
6?12 chapter 6: i/o features in cyclone iv devices i/o standards cyclone iv device handbook, volume 1 ? december 2010 altera corporation i/o standards cyclone iv devices support multiple single-ended and differential i/o standards. cyclone iv devices support 3.3-, 3.0-, 2.5-, 1.8-, 1.5-, and 1.2-v i/o standards. ta b l e 6 ?3 summarizes i/o standards supported by cyclone iv devices and which i/o pins support them. table 6?3. cyclone iv devices supported i/o standards and constraints (part 1 of 2) i/o standard type standard support v ccio level (in v) column i/o pins row i/o pins (1) input output clk, dqs pll_out user i/o pins clk, dqs user i/o pins 3.3-v lvttl, 3.3-v lvcmos (2) single-ended jesd8-b 3.3/3.0/2.5 (3) 3.3 vv vvv 3.0-v lvttl, 3.0-v lvcmos (2) single-ended jesd8-b 3.3/3.0/2.5 (3) 3.0 vv vvv 2.5-v lvttl / lvcmos single-ended jesd8-5 3.3/3.0/2.5 (3) 2.5 vv vvv 1.8-v lvttl / lvcmos single-ended jesd8-7 1.8/1.5 (3) 1.8 vv vvv 1.5-v lvcmos single-ended jesd8-11 1.8/1.5 (3) 1.5 vv vvv 1.2-v lvcmos (4) single-ended jesd8-12a 1.2 1.2 vv vvv sstl-2 class i, sstl-2 class ii voltage- referenced jesd8-9a 2.5 2.5 vv vvv sstl-18 class i, sstl-18 class ii voltage- referenced jesd815 1.8 1.8 vv vvv hstl-18 class i, hstl-18 class ii voltage- referenced jesd8-6 1.8 1.8 vv vvv hstl-15 class i, hstl-15 class ii voltage- referenced jesd8-6 1.5 1.5 vv vvv hstl-12 class i voltage- referenced jesd8-16a 1.2 1.2 vv vvv hstl-12 class ii (9) voltage- referenced jesd8-16a 1.2 1.2 vv v ?? pci and pci-x single-ended ? 3.0 3.0 vv vvv differential sstl-2 class i or class ii differential (5) jesd8-9a ?2.5? v ?? ? 2.5 ? v ?? v ? differential sstl-18 class i or class ii differential (5) jesd815 ?1.8? v ?? ? 1.8 ? v ?? v ? differential hstl-18 class i or class ii differential (5) jesd8-6 ?1.8? v ?? ? 1.8 ? v ?? v ? differential hstl-15 class i or class ii differential (5) jesd8-6 ?1.5? v ?? ? 1.5 ? v ?? v ? differential hstl-12 class i or class ii differential (5) jesd8-16a ?1.2? v ?? ? 1.2 ? v ?? v ?
chapter 6: i/o features in cyclone iv devices 6?13 termination scheme for i/o standards ? december 2010 altera corporation cyclone iv device handbook, volume 1 cyclone iv devices support pci and pci-x i/o standards at 3.0-v v ccio . the 3.0-v pci and pci-x i/o are fully compatible for direct interfacing with 3.3-v pci systems without requiring any additional components. the 3.0-v pci and pci-x outputs meet the v ih and v il requirements of 3.3-v pci and pci-x inputs with sufficient noise margin. f for more information about the 3.3/3.0/2.5-v lvttl & lvcmos multivolt i/o support, refer to an 447: interfacing cyclone iii and cyclone iv devices with 3.3/3.0/2.5-v lvttl/lvcmos i/o systems . termination scheme for i/o standards this section describes recommended termination schemes for voltage-referenced and differential i/o standards. the 3.3-v lvttl, 3.0-v lvttl and lvcmos, 2.5-v lvttl and lvcmos, 1.8-v lvttl and lvcmos, 1.5-v lvcmos, 1.2-v lvcmos, 3.0-v pci, and pci-x i/o standards do not specify a recommended termination scheme per the jedec standard ppds (6) differential ? ? 2.5 ? vv ? v lvds (10) differential ansi/tia/ eia-644 2.5 2.5 vv vvv rsds and mini-lvds (6) differential ? ? 2.5 ? vv ? v blvds (8) differential ? 2.5 2.5 ? ? v ? v lvpecl (7) differential ? 2.5 ? v ?? v ? notes to table 6?3 : (1) cyclone iv gx devices only support right i/o pins. (2) the pci-clamp diode must be enabled for 3.3-v/3.0-v lvttl/lvcmos. (3) the cyclone iv architecture supports the multivolt i/o interface feature that allows cyclone iv devices in all packages to i nterface with i/o systems that have different supply voltages. (4) cyclone iv gx devices do not support 1.2-v v ccio in banks 3 and 9. i/o pins in bank 9 are dual-purpose i/o pins that are used as configuration or gpio pins. configuration scheme is not support at 1.2 v, therefore bank 9 can not be powered up at 1.2-v v ccio . (5) differential hstl and sstl outputs use two single-ended outputs with the second output programmed as inverted. differential hstl and sstl inputs treat differential inputs as two single-ended hstl and sstl inputs and only decode one of them. differential hstl and ss tl are only supported on clk pins. (6) ppds, mini-lvds, and rsds are only supported on output pins. (7) lvpecl is only supported on clock inputs. (8) bus lvds (blvds) output uses two single-ended outputs with the second output programmed as inverted. blvds input uses lvds i nput buffer. (9) 1.2-v hstl input is supported at both column and row i/os regardless of class i or class ii. (10) true lvds, rsds, and mini-lvds i/o standards are supported in right i/o pins, while emulated lvds, rsds, and mini-lvds i/o standards are supported in the top, bottom, and right i/o pins. table 6?3. cyclone iv devices supported i/o standards and constraints (part 2 of 2) i/o standard type standard support v ccio level (in v) column i/o pins row i/o pins (1) input output clk, dqs pll_out user i/o pins clk, dqs user i/o pins
6?14 chapter 6: i/o features in cyclone iv devices termination scheme for i/o standards cyclone iv device handbook, volume 1 ? december 2010 altera corporation voltage-referenced i/o standard termination voltage-referenced i/o standards require an input reference voltage (v ref ) and a termination voltage (v tt ). the reference voltage of the receiving device tracks the termination voltage of the transmitting device, as shown in figure 6?5 and figure 6?6 . figure 6?5. cyclone iv devices hstl i/o standard termination figure 6?6. cyclone iv devices sstl i/o standard termination hstl class i hstl class ii external on-board termination oct with and without calibration v tt 50 50 v tt 50 v tt 50 transmitter transmitter recei v er recei v er v tt 50 transmitter recei v er v tt 50 v tt 50 transmitter recei v er cyclone iv de v ice family series oct 50 cyclone iv de v ice family series oct 25 v ref v ref v ref v ref termination 50 50 50 sstl class i sstl class ii external on-board termination oct with and without calibration v tt 50 25 v tt 50 25 v tt 50 transmitter transmitter recei v er recei v er v tt 50 50 transmitter recei v er cyclone iv de v ice family series oct 50 v tt 50 25 50 v tt 50 transmitter recei v er cyclone iv de v ice family series oct v ref v ref v ref v ref termination 50 50
chapter 6: i/o features in cyclone iv devices 6?15 termination scheme for i/o standards ? december 2010 altera corporation cyclone iv device handbook, volume 1 differential i/o standard termination differential i/o standards typically require a termination resistor between the two signals at the receiver. the termination resistor must match the differential load impedance of the bus (refer to figure 6?7 and figure 6?8 ). cyclone iv devices support differential sstl-2 and sstl-18, differential hstl-18, hstl-15, and hstl-12, ppds, lvds, rsds, mini-lvds, and differential lvpecl. figure 6?7. cyclone iv devices differential hstl i/o standard class i and class ii interface and termination figure 6?8. cyclone iv devices differential sstl i/o standard class i and class ii interface and termination (note 1) note to figure 6?8 : (1) only differential sstl-2 i/o standard supports class ii output. external on-board termination oct transmitter recei v er v tt v tt transmitter recei v er v tt v tt cyclone iv de v ice family series oct 50 differential hstl class i termination differential hstl class ii transmitter recei v er 50 50 50 50 v tt v tt 50 50 v tt v tt transmitter recei v er 50 50 ? 50 50 v tt v tt 50 50 v tt v tt cyclone iv de v ice family series oct 25 50 50 50 50 50 50 50 50 differential sstl class i differential sstl class ii external on-board termination oct transmitter recei v er 50 50 50 50 ? v tt v tt 25 25 transmitter recei v er 50 50 50 50 v tt v tt 25 25 50 50 v tt v tt transmitter recei v er 50 50 ? 50 50 v tt v tt 50 50 v tt v tt cyclone iv de v ice family series oct 25 transmitter recei v er 50 50 50 50 v tt v tt 50 cyclone iv de v ice family series oct termination
6?16 chapter 6: i/o features in cyclone iv devices i/o banks cyclone iv device handbook, volume 1 ? december 2010 altera corporation i/o banks i/o pins on cyclone iv devices are grouped together into i/o banks. each bank has a separate power bus. cyclone iv e devices have eight i/o banks, as shown in figure 6?9 . each device i/o pin is associated with one i/o bank. all single-ended i/o standards are supported in all banks except hstl-12 class ii, which is only supported in column i/o banks. all differential i/o standards are supported in all banks. the only exception is hstl-12 class ii, which is only supported in column i/o banks. cyclone iv gx devices have up to ten i/o banks and two configuration banks, as shown in figure 6?10 on page 6?18 and figure 6?11 on page 6?19 . the cyclone iv gx configuration i/o bank contains three user i/o pins that can be used as normal user i/o pins if they are not used in configuration modes. each device i/o pin is associated with one i/o bank. all single-ended i/o standards are supported except hstl-12 class ii, which is only supported in column i/o banks. all differential i/o standards are supported in top, bottom, and right i/o banks. the only exception is hstl-12 class ii, which is only supported in column i/o banks. the entire left side of the cyclone iv gx devices contain dedicated high-speed transceiver blocks for high speed serial interface applications. there are a total of 2, 4, and 8 transceiver channels for cyclone iv gx devices, depending on the density and package of the device. for more information about the transceiver channels supported, refer to figure 6?10 on page 6?18 and figure 6?11 on page 6?19 .
chapter 6: i/o features in cyclone iv devices 6?17 i/o banks ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 6?9 shows the overview of cyclone iv e i/o banks. figure 6?9. cyclone iv e i/o banks (note 1) , (2) notes to figure 6?9 : (1) this is a top view of the silicon die. this is only a graphical representation. for exact pin locations, refer to the pin li st and the quartus ii software. (2) true differential (ppds, lvds, mini-lvds, and rsds i/o standards) outputs are supported in row i/o banks 1, 2, 5, and 6 only . external resistors are needed for the differential outputs in column i/o banks. (3) the lvpecl i/o standard is only supported on clock input pins. this i/o standard is not supported on output pins. (4) the hstl-12 class ii is supported in column i/o banks 3, 4, 7, and 8 only. (5) the differential sstl-18 and sstl-2, differential hstl-18, and hstl-15 i/o standards are supported only on clock input pins and phase-locked loops (plls) output clock pins. differential sstl-18, differential hstl-18, and hstl-15 i/o standards do not support class ii o utput. (6) the differential hstl-12 i/o standard is only supported on clock input pins and pll output clock pins. differential hstl-12 class ii is supported only in column i/o banks 3, 4, 7, and 8. (7) blvds output uses two single-ended outputs with the second output programmed as inverted. blvds input uses true lvds input b uffer. all i/o banks s u pport: 3.3-v lvttl/lvcmos 3.0-v lvttl/lvcmos 2.5-v lvttl/lvcmos 1. 8 -v lvttl/lvcmos 1.5-v lvcmos 1.2-v lvcmos ppds lvds rsds mini-lvds b u s lvds ( 7) lvpecl (3) sstl-2 class i and ii sstl-1 8 class i and ii hstl-1 8 class i and ii hstl-15 class i and ii hstl-12 class i and ii (4) differential sstl-2 (5) differential sstl-1 8 (5) differential hstl-1 8 (5) differential hstl-15 (5) differential hstl-12 (6) i/o bank 8 i/o bank 7 i/o bank 3 i/o bank 4 i/o bank 2 i/o bank 1 i/o bank 5 i/o bank 6 i/o b ank w ith cali b ration b lock i/o b ank w itho u t cali b ration b lock cali b ration b lock co v erage
6?18 chapter 6: i/o features in cyclone iv devices i/o banks cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?10 and figure 6?11 show the overview of cyclone iv gx i/o banks. figure 6?10. cyclone iv gx i/o banks for ep4cgx15, ep4cgx22, and ep4cgx30 (note 1) , (2) , (9) notes to figure 6?10 : (1) this is a top view of the silicon die. for exact pin locations, refer to the pin list and the quartus ii software. channels 2 and 3 are not available in ep4cgx15 and f169 package type in ep4cgx22 and ep4cgx30 devices. (2) true differential (ppds, lvds, mini-lvds, and rsds i/o standards) outputs are supported in row i/o banks 5 and 6 only. exter nal resistors are needed for the differential outputs in column i/o banks. (3) the lvpecl i/o standard is only supported on clock input pins. this i/o standard is not supported on output pins. (4) the hstl-12 class ii is supported in column i/o banks 4, 7, and 8. (5) the differential sstl-18 and sstl-2, differential hstl-18, and hstl-15 i/o standards are supported only on clock input pins and phase-locked loops (plls) output clock pins. pll output clock pins do not support class ii interface type of differential sstl-18, hstl-18, hstl-15, and hstl-12 i/o standards. (6) the differential hstl-12 i/o standard is only supported on clock input pins and pll output clock pins. differential hstl-12 class ii is supported only in column i/o banks 4, 7, and 8. (7) blvds output uses two single-ended outputs with the second output programmed as inverted. blvds input uses the lvds input bu ffer. (8) the pci-x i/o standard does not meet the iv curve requirement at the linear region. (9) the oct block is located in the shaded banks 4, 5, and 7. (10) there are two dedicated clock input i/o banks (i/o bank 3a and i/o bank 8a) that can be used for either high-speed serial i nterface (hssi) input reference clock pins or clock input pins. (11) there are dual-purpose i/o pins in bank 9. if input pins with vref i/o standards are used on these dual-purpose i/o pins during user mode, they share the vref pin in bank 8.these dual-purpose io pins in bank 9 when used in user mode also support r s oct without calibration and they share the oct block with bank 8. vccio9 config u ration pins config u ration pins vcc_clki n 3a i/o bank 3 i/o bank 3a (10) i/o bank 8 i/o bank 9 (11) i/o bank 8 a (10) right, top, and bottom banks s u pport: 3.3-v lvttl/lvcmos 3.0-v lvttl/lvcmos 2.5-v lvttl/lvcmos 1. 8 -v lvttl/lvcmos 1.5-v lvcmos 1.2-v lvcmos ppds lvds rsds mini-lvds b u s lvds ( 7) lvpecl (3) sstl-2 class i and ii sstl-1 8 class i and ii hstl-1 8 class i and ii hstl-15 class i and ii hstl-12 class i and ii (4) differential sstl-2 (5) differential sstl-1 8 (5) differential hstl-1 8 (5) differential hstl-15 (5) differential hstl-12 (6) 3.0-v pci/pci-x ( 8 ) vccio7 vccio6 vccio5 vccio4 vccio3 config u ration pins vcc_clki n8 a vccio 8 i/o bank 7 i/o bank 4 i/o bank 5 pcie hard ip x1, x2, and x4 i/o bank 6 channel 3 channel 2 channel 1 channel 0 i/o b ank w ith cali b ration b lock i/o b ank w itho u t cali b ration b lock cali b ration b lock co v erage
chapter 6: i/o features in cyclone iv devices 6?19 i/o banks ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 6?11. cyclone iv gx i/o banks for ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 (note 1) , (2) , (9) notes to figure 6?11 : (1) this is a top view of the silicon die. for exact pin locations, refer to the pin list and the quartus ii software. (2) true differential (ppds, lvds, mini-lvds, and rsds i/o standards) outputs are supported in row i/o banks 5 and 6 only. exter nal resistors are needed for the differential outputs in column i/o banks. (3) the lvpecl i/o standard is only supported on clock input pins. this i/o standard is not supported on output pins. (4) the hstl-12 class ii is supported in column i/o banks 4, 7, and 8. (5) the differential sstl-18 and sstl-2, differential hstl-18, and hstl-15 i/o standards are supported only on clock input pins and phase-locked loops (plls) output clock pins. pll output clock pins do not support class ii interface type of differential sstl-18, hstl-18, hstl-15, and hstl-12 i/o standards. (6) the differential hstl-12 i/o standard is only supported on clock input pins and pll output clock pins. differential hstl-12 class ii is supported only in column i/o banks 4, 7, and 8. (7) blvds output uses two single-ended outputs with the second output programmed as inverted. blvds input uses the lvds input bu ffer. (8) the pci-x i/o standard does not meet the iv curve requirement at the linear region. (9) the oct block is located in the shaded banks 4, 5, and 7. (10) the dedicated clock input i/o banks 3a, 3b, 8a, and 8b can be used either for hssi input reference clock pins or clock inpu t pins. (11) single-ended clock input support is available for dedicated clock input i/o banks 3b and 8b. right, top, and bottom banks s u pport: 3.3-v lvttl/lvcmos 3.0-v lvttl/lvcmos 2.5-v lvttl/lvcmos 1. 8 -v lvttl/lvcmos 1.5-v lvcmos 1.2-v lvcmos ppds lvds rsds mini-lvds b u s lvds ( 7) lvpecl (3) sstl-2 class i and ii sstl-1 8 class i and ii hstl-1 8 class i and ii hstl-15 class i and ii hstl-12 class i and ii (4) differential sstl-2 (5) differential sstl-1 8 (5) differential hstl-1 8 (5) differential hstl-15 (5) differential hstl-12 (6) 3.0-v pci/pci-x ( 8 ) vccio9 config u ration pins config pins vccio 8 vcc_clki n8 a vcc_clki n 3a vccio7 vccio6 vccio5 vccio4 vccio3 i/o bank 9 i/o bank 7 i/o bank 4 i/o bank 5 pcie hard ip x1, x2, and x4 i/o bank 6 vcc_clki n8 b vccio3 vcc_clki n 3b ch0 ch1 ch2 gxbl0 ch3 ch0 ch1 ch2 gxbl1 ch3 i/o b ank w ith cali b ration b lock i/o b ank w itho u t cali b ration b lock cali b ration b lock co v erage i/o bank 8 i/o bank 8 a (10) i/o bank 8 b (10), (11) i/o bank 3 i/o bank 3a (10) i/o bank 3b (10), (11)
6?20 chapter 6: i/o features in cyclone iv devices i/o banks cyclone iv device handbook, volume 1 ? december 2010 altera corporation each cyclone iv i/o bank has a vref bus to accommodate voltage-referenced i/o standards. each vref pin is the reference source for its v ref group. if you use a v ref group for voltage-referenced i/o standards, connect the vref pin for that group to the appropriate voltage level. if you do not use all the v ref groups in the i/o bank for voltage-referenced i/o standards, you can use the vref pin in the unused voltage-referenced groups as regular i/o pins. for example, if you have sstl-2 class i input pins in i/o bank 3 and they are all placed in the vrefb1n[0] group, vrefb1n[0] must be powered with 1.25 v, and the remaining vrefb1n[1..3] pins (if available) are used as i/o pins. if multiple v ref groups are used in the same i/o bank, the vref pins must all be powered by the same voltage level because the vref pins are shorted together within the same i/o bank. 1 when vref pins are used as regular i/os, they have higher pin capacitance than regular user i/o pins. this has an impact on the timing if the pins are used as inputs and outputs. f for more information about vref pin capacitance, refer to the pin capacitance section in the cyclone iv device datasheet chapter. f for information about how to identify v ref groups, refer to the cyclone iv device pin-out files or the quartus ii pin planner tool. table 6?4 and table 6?5 summarize the number of vref pins in each i/o bank for the cyclone iv device family. table 6?4. number of vref pins per i/o bank for cyclone iv e devices device ep4ce6 ep4ce10 ep4ce15 ep4ce22 ep4ce30 ep4ce40 ep4ce55 ep4ce75 ep4ce115 i/o bank (1) 144- eqpf 256- ubga 256- fbga 144- eqpf 256- ubga 256- fbga 144- eqpf 164- mbga 256- ubga 256- fbga 484- fbga 144- eqpf 256- ubga 256- fbga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- fbga 780- fbga 1 1111112 2 2221114444422233333 2 1111112 2 2221114444422233333 3 1111112 2 2221114444422233333 4 1111112 2 2221114444422233333 5 1111112 2 2221114444422233333 6 1111112 2 2221114444422233333 7 1111112 2 2221114444422233333 8 1111112 2 2221114444422233333 note to table 6?4 : (1) user i/o pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as output only.
chapter 6: i/o features in cyclone iv devices 6?21 i/o banks ? december 2010 altera corporation cyclone iv device handbook, volume 1 each cyclone iv i/o bank has its own vccio pins. each i/o bank can support only one v ccio setting from among 1.2, 1.5, 1.8, 3.0, or 3.3 v. any number of supported single-ended or differential standards can be simultaneously supported in a single i/o bank, as long as they use the same v ccio levels for input and output pins. when designing lvttl/lvcmos inputs with cyclone iv devices, refer to the following guidelines: all pins accept input voltage (v i ) up to a maximum limit (3.6 v), as stated in the recommended operating conditions provided in the cyclone iv device datasheet chapter . whenever the input level is higher than the bank v ccio , expect higher leakage current. the lvttl/lvcmos i/o standard input pins can only meet the v ih and v il levels according to bank voltage level. voltage-referenced standards are supported in an i/o bank using any number of single-ended or differential standards, as long as they use the same v ref and v ccio values. for example, if you choose to implement both sstl-2 and sstl-18 in your cyclone iv devices, i/o pins using these standards?because they require different v ref values?must be in different banks from each other. however, the same i/o bank can support sstl-2 and 2.5-v lvcmos with the v ccio set to 2.5 v and the v ref set to 1.25 v. 1 when using cyclone iv devices as a receiver in 3.3-, 3.0-, or 2.5-v lvttl/lvcmos systems, you are responsible for managing overshoot or undershoot to stay in the absolute maximum ratings and the recommended operating conditions, provided in the cyclone iv device datasheet chapter. 1 the pci clamping diode is enabled by default in the quartus ii software for input signals with bank v ccio at 2.5, 3.0, or 3.3 v. table 6?5. number of vref pins per i/o bank for cyclone iv gx devices device 4cgx15 4cgx22 4cgx30 4cgx50 4cgx75 4cgx110 4cgx150 i/o bank (1) 148- qfn 169- fbga 169- fbga 324- fbga 169- fbga 324- fbga 484- fbga 672- fbga 484- fbga 672- fbga 484- fbga 672- fbga 896- fbga 484- fbga 672- fbga 896- fbga 311133 3 3 411133 3 3 511133 3 3 611133 3 3 711133 3 3 8 (2) 11133 3 3 notes to table 6?5 : (1) user i/o pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as output only. (2) bank 9 does not have vref pin. if input pins with vref i/o standards are used in bank 9 during user mode, it shares the vref pin in bank 8.
6?22 chapter 6: i/o features in cyclone iv devices pad placement and dc guidelines cyclone iv device handbook, volume 1 ? december 2010 altera corporation high-speed differential interfaces cyclone iv devices can send and receive data through lvds signals. for the lvds transmitter and receiver, the input and output pins of cyclone iv devices support serialization and deserialization through internal logic. the blvds extends the benefits of lvds to multipoint applications such as bidirectional backplanes. the loading effect and the need to terminate the bus at both ends for multipoint applications require blvds to drive out a higher current than lvds to produce a comparable voltage swing. all the i/o banks of cyclone iv devices support blvds for user i/o pins. the rsds and mini-lvds standards are derivatives of the lvds standard. the rsds and mini-lvds i/o standards are similar in electrical characteristics to lvds, but have a smaller voltage swing and therefore provide increased power benefits and reduced electromagnetic interference (emi). the ppds standard is the next generation of the rsds standard introduced by national semiconductor corporation. cyclone iv devices meet the national semiconductor corporation ppds interface specification and support the ppds standard for outputs only. all the i/o banks of cyclone iv devices support the ppds standard for output pins only. the lvds standard does not require an input reference voltage, but it does require a 100- ? termination resistor between the two signals at the input buffer. an external resistor network is required on the transmitter side for the top and bottom i/o banks. external memory interfacing cyclone iv devices support i/o standards required to interface with a broad range of external memory interfaces, such as ddr sdram, ddr2 sdram, and qdr ii sram. f for more information about cyclone iv devices external memory interface support, refer to the external memory interfaces in cyclone iv devices chapter . pad placement and dc guidelines you can use the quartus ii software to validate your pad and pin placement. pad placement altera recommends that you create a quartus ii design, enter your device i/o assignments and compile your design to validate your pin placement. the quartus ii software checks your pin connections with respect to the i/o assignment and placement rules to ensure proper device operation. these rules depend on device density, package, i/o assignments, voltage assignments and other factors that are not fully described in this chapter. f for more information about how the quartus ii software checks i/o restrictions, refer to the i/o management chapter in volume 2 of the quartus ii handbook .
chapter 6: i/o features in cyclone iv devices 6?23 clock pins functionality ? december 2010 altera corporation cyclone iv device handbook, volume 1 dc guidelines for the quartus ii software to automatically check for illegally placed pads according to the dc guidelines, set the dc current sink or source value to electromigration current assignment on each of the output pins that are connected to the external resistive load. the programmable current strength setting has an impact on the amount of dc current that an output pin can source or sink. determine if the current strength setting is sufficient for the external resistive load condition on the output pin. clock pins functionality cyclone iv clock pins have multiple purposes, as per listed: clk pins?input support for single-ended and voltage-referenced standards. for i/o standard support, refer to table 6?3 on page 6?12 . diffclk pins?input support for differential standards. for i/o standard support, refer to table 6?3 on page 6?12 . when used as diffclk pins, dc or ac coupling can be used depending on the interface requirements and external termination is required. for more information, refer to ?high-speed i/o standards support? on page 6?27 . refclk pins?input support for high speed differential reference clocks used by the transceivers in cyclone iv gx devices. for i/o support, coupling, and termination requirements, refer to table 6?10 on page 6?28 . high-speed i/o interface cyclone iv e i/os are separated into eight i/o banks, as shown in figure 6?9 on page 6?17 . cyclone iv gx i/os are separated into six user i/o banks with the left side of the device as the transceiver block, as shown in figure 6?10 on page 6?18 . each bank has an independent power supply. true output drivers for lvds, rsds, mini-lvds, and ppds are on the right i/o banks. on the cyclone iv e row i/o banks and the cyclone iv gx right i/o banks, some of the differential pin pairs ( p and n pins) of the true output drivers are not located on adjacent pins. in these cases, a power pin is located between the p and n pins. these i/o standards are also supported on all i/o banks using two single-ended output with the second output programmed as inverted, and an external resistor network. true input buffers for these i/o standards are supported on the top, bottom, and right i/o banks except for i/o bank 9.
6?24 chapter 6: i/o features in cyclone iv devices high-speed i/o interface cyclone iv device handbook, volume 1 ? december 2010 altera corporation ta b l e 6 ?6 and ta b l e 6? 7 summarize which i/o banks support these i/o standards in the cyclone iv device family. table 6?6. differential i/o standards supported in cyclone iv e i/o banks differential i/o standards i/o bank location external resistor network at transmitter transmitter (tx) receiver (rx) lvds 1,2,5,6 not required vv all three resistors rsds 1,2,5,6 not required v ? 3,4,7,8 three resistors all single resistor mini-lvds 1,2,5,6 not required v ? all three resistors ppds 1,2,5,6 not required v ? all three resistors blvds (1) all single resistor vv lvpecl (2) all ? ? v differential sstl-2 (3) all ? vv differential sstl-18 (3) all ? vv differential hstl-18 (3) all ? vv differential hstl-15 (3) all ? vv differential hstl-12 (3) , (4) all ? vv notes to table 6?6 : (1) transmitter and receiver f max depend on system topology and performance requirement. (2) the lvpecl i/o standard is only supported on dedicated clock input pins. (3) the differential sstl-2, sstl-18, hstl-18, hstl-15, and hstl-12 i/o standards are only supported on clock input pins and pll output clock pins. pll output clock pins do not support class ii interface type of differential sstl-18, hstl-18, hstl-15, and hstl-12 i/o s tandards. (4) differential hstl-12 class ii is supported only in column i/o banks.
chapter 6: i/o features in cyclone iv devices 6?25 high-speed i/o interface ? december 2010 altera corporation cyclone iv device handbook, volume 1 you can use i/o pins and internal logic to implement a high-speed differential interface in cyclone iv devices. cyclone iv devices do not contain dedicated serialization or deserialization circuitry. therefore, shift registers, internal phase-locked loops (plls), and i/o cells are used to perform serial-to-parallel conversions on incoming data and parallel-to-serial conversion on outgoing data. the differential interface data serializers and deserializers (serdes) are automatically constructed in the core logic elements (les) with the quartus ii software altlvds megafunction. table 6?7. differential i/o standards supported in cyclone iv gx i/o banks differential i/o standards i/o bank location external resistor network at transmitter transmitter (tx) receiver (rx) lvds 5,6 not required vv 3,4,5,6,7,8 three resistors rsds 5,6 not required v ? 3,4,7,8 three resistors 3,4,5,6,7,8 single resistor mini-lvds 5,6 not required v ? 3,4,5,6,7,8 three resistors ppds 5,6 not required v ? 3,4,5,6,7,8 three resistors blvds (1) 3,4,5,6,7,8 single resistor vv lvpecl (2) 3,4,5,6,7,8 ? ? v differential sstl-2 (3) 3,4,5,6,7,8 ? vv differential sstl-18 (3) 3,4,5,6,7,8 ? vv differential hstl-18 (3) 3,4,5,6,7,8 ? vv differential hstl-15 (3) 3,4,5,6,7,8 ? vv differential hstl-12 (3) 4,5,6,7,8 ? vv notes to table 6?7 : (1) transmitter and receiver f max depend on system topology and performance requirement. (2) the lvpecl i/o standard is only supported on dedicated clock input pins. (3) the differential sstl-2, sstl-18, hstl-18, hstl-15, and hstl-12 i/o standards are only supported on clock input pins and pll output clock pins. pll output clock pins do not support class ii interface type of differential sstl-18, hstl-18, hstl-15, and hstl-12 i/o s tandards.
6?26 chapter 6: i/o features in cyclone iv devices high-speed i/o interface cyclone iv device handbook, volume 1 ? december 2010 altera corporation table 6?8 and table 6?9 summarize the total number of supported row and column differential channels in the cyclone iv device family. table 6?8. cyclone iv e i/o and differential channel count device ep4ce6 ep4ce10 ep4ce15 ep4ce22 ep4ce30 ep4ce40 ep4ce55 ep4ce75 ep4ce115 numbers of differential channels (1) , (2) 144- eqpf 256- ubga 256- fbga 144- eqpf 256- ubga 256- fbga 144- eqpf 164- mbga 256- ubga 256- fbga 484- fbga 144- eqpf 256- ubga 256- fbga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- ubga 484- fbga 780- fbga 484- fbga 780- fbga user i/o (3) 91 179 179 91 179 179 81 89 165 165 343 79 153 153 328 532 328 328 532 324 324 374 292 292 426 280 528 user i/o banks 88888888 8888888888888888888 lvds (4) 8 2323 8 2323 6 8 212167 7 202060112606011262627054547950103 emulated lvds (5) 13 43 43 13 43 43 12 13 32 32 70 10 32 32 64 112 64 64 112 70 70 90 56 56 99 53 127 notes to table 6?8 : (1) user i/o pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as output only. (2) for differential pad placement guidelines, refer to ?pad placement? on page 6?22 . (3) the i/o pin count includes all gpios, dedicated clock pins, and dual-purpose configuration pins. dedicated configuration pin s are not included in the pin count. (4) the true lvds count includes all lvds i/o pairs, differential clock input and clock output pins in row i/o banks 1, 2, 5, an d 6. (5) the emulated lvds count includes all lvds i/o pairs, differential clock input and clock output pins in column i/o banks 3, 4 , 7, and 8.
chapter 6: i/o features in cyclone iv devices 6?27 high-speed i/o standards support ? december 2010 altera corporation cyclone iv device handbook, volume 1 high-speed i/o standards support this section provides information about the high-speed i/o standards and the hssi input reference clock supported in cyclone iv devices. high speed serial interface (hssi) input reference clock support cyclone iv gx devices support the same i/o features for gpios with additional new features where current i/o banks 3a and 8a consist of dual-purpose clock input pins ( clkin ) and 3b and 8b consist of dedicated clkin that can be used to support the high-speed transceiver input reference clock ( refclk ) features on top of the general-purpose clock input function. i/o banks 3b and 8b are dedicated to high- speed transceiver input refclk only. the ep4cgx15, ep4cgx22, and ep4cgx30 devices contain two pairs of clkin/refclk pins located in i/o banks 3a and 8a. i/o banks 3b and 8b are not available in ep4cgx15, ep4cgx22, and ep4cgx30 devices. the ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices have a total of four pairs of clkin/refclk pins located in i/o banks 3a, 3b, 8a, and 8b. i/o banks 3b and 8b can also support single-ended clock inputs. for more information about the clkin/refclk pin location, refer to figure 6?10 on page 6?18 and figure 6?11 on page 6?19 . the clkin/refclk pins are powered by dedicated v cc_clkin3a , v cc_clkin3b , v cc_clkin8a , and v cc_clkin8b power supplies separately in their respective i/o banks to avoid the different power level requirements in the same bank for gpio. table 6?9. cyclone iv gx i/o, differential, and xcvrs channel count device 4cgx15 4cgx22 4cgx30 4cgx50 4cgx75 4cgx110 4cgx150 numbers of differential channels (1) , (2) 148- qfn 169- fbga 169- fbga 324- fbga 169- fbga 324- fbga 484- fbga 484- fbga 672- fbga 484- fbga 672- fbga 484- fbga 672- fbga 896- fbga 484- fbga 672- fbga 896- fbga user i/o (3) 72 72 72 150 72 150 290 290 310 290 310 270 393 475 270 393 475 user i/o banks 9 (4) 9 (4) 9 (4) 9 (4) 9 (4) 9 (4) 11 (5) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) 11 (5) , (6) lvds (7) 9 9 9 16 9 164545514551385263385263 emulated lvds (8) 16 16 16 48 16 48 85 85 89 85 89 82 129 157 82 129 157 xcvrs 22242444848488488 notes to table 6?9 : (1) user i/o pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as outputs only. (2) for differential pad placement guidelines, refer to ?pad placement? on page 6?22 . (3) the i/o pin count includes all gpios, dedicated clock pins, and dual-purpose configuration pins. transceivers pins and dedic ated configuration pins are not included in the pin count. (4) includes one configuration i/o bank and two dedicated clock input i/o banks for hssi input reference clock. (5) includes one configuration i/o bank and four dedicated clock input i/o banks for hssi input reference clock. (6) single-ended clock input support is available for dedicated clock input i/o banks 3b (pins clkio20 and clkio22 ) and 8b (pins clkio17 and clkio19 ). (7) the true lvds count includes all lvds i/o pairs, differential clock input and clock output pins in right i/o banks 5 and 6. (8) the emulated lvds count includes all lvds i/o pairs, differential clock input and clock output pins in column i/o banks 3, 4 , 7, and 8.
6?28 chapter 6: i/o features in cyclone iv devices high-speed i/o standards support cyclone iv device handbook, volume 1 ? december 2010 altera corporation f for more information about the ac-coupled termination scheme for the hssi reference clock, refer to the cyclone iv transceivers architecture chapter. lvds i/o standard support in cyclone iv devices the lvds i/o standard is a high-speed, low-voltage swing, low power, and gpio interface standard. cyclone iv devices meet the ansi/tia/eia-644 standard with the following exceptions: the maximum differential output voltage (v od ) is increased to 600 mv. the maximum v od for ansi specification is 450 mv. the input voltage range is reduced to the range of 1.0 v to 1.6 v, 0.5 v to 1.85 v, or 0 v to 1.8 v based on different frequency ranges. the ansi/tia/eia-644 specification supports an input voltage range of 0 v to 2.4 v. f for lvds i/o standard electrical specifications in cyclone iv devices, refer to the cyclone iv device datasheet chapter. designing with lvds cyclone iv i/o banks support the lvds i/o standard. the cyclone iv gx right i/o banks support true lvds transmitters while the cyclone iv e left and right i/o banks support true lvds transmitters. on the top and bottom i/o banks, the emulated lvds transmitters are supported using two single-ended output buffers with external resistors. one of the single-ended output buffers is programmed to have opposite polarity. the lvds receiver requires an external 100- ? termination resistor between the two signals at the input buffer. table 6?10. cyclone iv gx hssi refclk i/o standard support using gpio clkin pins (note 1) , (2) i/o standard hssi protocol coupling termination vcc_clkin level i/o pin type input output column i/o row i/o supported i/o banks lvds all differential ac (need off chip resistor to restore v cm ) off chip 2.5v not supported yes no 3a, 3b, 8a, 8b lvpecl all off chip 2.5v not supported yes no 3a, 3b, 8a, 8b 1.2v, 1.5v, 3.3v pcml all off chip 2.5v not supported yes no 3a, 3b, 8a, 8b all off chip 2.5v not supported yes no 3a, 3b, 8a, 8b all off chip 2.5v not supported yes no 3a, 3b, 8a, 8b hcsl pcie differential dc off chip 2.5v not supported yes no 3a, 3b, 8a, 8b notes to table 6?10 : (1) the ep4cgx15, ep4cgx22, and ep4cgx30 devices have two pairs of dedicated clock input pins in banks 3a and 8a for hssi input reference clock. i/o banks 3b and 8b are not availabl e in ep4cgx15, ep4cgx22, and ep4cgx30 devices. (2) the ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices have four pairs of dedicated clock input pins in banks 3a, 3b, 8a, and 8b for hssi input or single-ended clock input.
chapter 6: i/o features in cyclone iv devices 6?29 high-speed i/o standards support ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 6?12 shows a point-to-point lvds interface using cyclone iv devices true lvds output and input buffers. figure 6?13 shows a point-to-point lvds interface with cyclone iv devices lvds using two single-ended output buffers and external resistors. blvds i/o standard support in cyclone iv devices the blvds i/o standard is a high-speed differential data transmission technology that extends the benefits of standard point-to-point lvds to multipoint configuration that supports bidirectional half-duplex communication. blvds differs from standard lvds by providing a higher drive to achieve similar signal swings at the receiver while loaded with two terminations at both ends of the bus. figure 6?12. cyclone iv devices lvds interface with true output buffer on the right i/o banks transmitting device cyclone i v device 100 cyclone i v device family logic array 100 input buffer output buffer receiving device txout + txout - rxin + rxin - txout + txout - rxin + rxin - 50 50 50 50 figure 6?13. lvds interface with external resistor network on the top and bottom i/o banks (note 1) note to figure 6?13 : (1) r s = 120 ? . r p = 170 ? . l v ds receiver 100 50 cyclo n e iv device resistor network emulated l v ds transmitter r s r p r s 50
6?30 chapter 6: i/o features in cyclone iv devices high-speed i/o standards support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?14 shows a typical blvds topology with multiple transmitter and receiver pairs. the blvds i/o standard is supported on the top, bottom, and right i/o banks of cyclone iv devices. the blvds transmitter uses two single-ended output buffers with the second output buffer programmed as inverted, while the blvds receiver uses a true lvds input buffer. the transmitter and receiver share the same pins. an output-enabled ( oe ) signal is required to tristate the output buffers when the lvds input buffer receives a signal. f for more information, refer to the cyclone iv device datasheet chapter. designing with blvds the blvds bidirectional communication requires termination at both ends of the bus in blvds. the termination resistor (r t ) must match the bus differential impedance, which in turn depends on the loading on the bus. increasing the load decreases the bus differential impedance. with termination at both ends of the bus, termination is not required between the two signals at the input buffer. a single series resistor (r s ) is required at the output buffer to match the output buffer impedance to the transmission line impedance. however, this series resistor affects the voltage swing at the input buffer. the maximum data rate achievable depends on many factors. 1 altera recommends that you perform simulation using the ibis model while considering factors such as bus loading, termination values, and output and input buffer location on the bus to ensure that the required performance is achieved. f for more information about blvds interface support in altera devices, refer to an 522: implementing bus lvds interface in supported altera device families . figure 6?14. blvds topology with cyclone iv devices transmitters and receivers v cc r t 50 100 k 100 k gnd output data input data cyclone i v device family oe r s r s output data input data cyclone i v device family oe r s r s output data input data cyclone i v device family oe r s r s v cc r t 100 k 100 k gnd 50 50 50 50 50 50 50 50 50 50 50 50 50
chapter 6: i/o features in cyclone iv devices 6?31 high-speed i/o standards support ? december 2010 altera corporation cyclone iv device handbook, volume 1 rsds, mini-lvds, and ppds i/o standard support in cyclone iv devices the rsds, mini-lvds, and ppds i/o standards are used in chip-to-chip applications between the timing controller and the column drivers on the display panels such as lcd monitor panels and lcd televisions. cyclone iv devices meet the national semiconductor corporation rsds interface specification, texas instruments mini-lvds interface specification, and national semiconductor corporation ppds interface specification to support rsds, mini-lvds and ppds output standards, respectively. f for cyclone iv devices rsds, mini-lvds, and ppds output electrical specifications, refer to the cyclone iv device datasheet chapter. f for more information about the rsds i/o standard, refer to the rsds specification from the national semiconductor website ( www.national.com ). designing with rsds, mini-lvds, and ppds cyclone iv i/o banks support rsds, mini-lvds, and ppds output standards. the right i/o banks support true rsds, mini-lvds, and ppds transmitters. on the top and bottom i/o banks, rsds, mini-lvds, and ppds transmitters are supported using two single-ended output buffers with external resistors. the two single-ended output buffers are programmed to have opposite polarity. figure 6?15 shows an rsds, mini-lvds, or ppds interface with a true output buffer. figure 6?15. cyclone iv devices rsds, mini-lvds, or ppds interface with true output buffer on the right i/o banks cyclone iv device 100 50 50 tr u e rsds, mini-lvds, or ppds transmitter rsds, mini-lvds, or ppds recei v er
6?32 chapter 6: i/o features in cyclone iv devices high-speed i/o standards support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?16 shows an rsds, mini-lvds, or ppds interface with two single-ended output buffers and external resistors. a resistor network is required to attenuate the output voltage swing to meet rsds, mini-lvds, and ppds specifications when using emulated transmitters. you can modify the resistor network values to reduce power or improve the noise margin. the resistor values chosen must satisfy equation 6?1 . 1 altera recommends that you perform simulations using cyclone iv devices ibis models to validate that custom resistor values meet the rsds, mini-lvds, or ppds requirements. it is possible to use a single external resistor instead of using three resistors in the resistor network for an rsds interface, as shown in figure 6?17 . the external single-resistor solution reduces the external resistor count while still achieving the required signaling level for rsds. however, the performance of the single-resistor solution is lower than the performance with the three-resistor network. figure 6?16. rsds, mini-lvds, or ppds interface with external resistor network on the top and bottom i/o banks (note 1) note to figure 6?16 : (1) r s and r p values are pending characterization. equation 6?1. resistor network 100 50 cyclone iv device resis t o r ne t wo r k r s r p r s 50 emulated rsds, mini-l v ds, or ppds transmitter rsds, mini-l v ds, or ppds receiver r s r p 2 ------ ? r s r p 2 ------ + ------------------- 5 0 ? =
chapter 6: i/o features in cyclone iv devices 6?33 high-speed i/o standards support ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 6?17 shows the rsds interface with a single resistor network on the top and bottom i/o banks. lvpecl i/o support in cyclone iv devices the lvpecl i/o standard is a differential interface standard that requires a 2.5-v v ccio. this standard is used in applications involving video graphics, telecommunications, data communications, and clock distribution. cyclone iv devices support the lvpecl input standard at the dedicated clock input pins only. the lvpecl receiver requires an external 100- ? termination resistor between the two signals at the input buffer. f for the lvpecl i/o standard electrical specification, refer to the cyclone iv device datasheet chapter. ac coupling is required when the lvpecl common mode voltage of the output buffer is higher than the cyclone iv devices lvpecl input common mode voltage. figure 6?18 shows the ac-coupled termination scheme. the 50- ? resistors used at the receiver are external to the device. dc-coupled lvpecl is supported if the lvpecl output common mode voltage is in the cyclone iv devices lvpecl input buffer specification (refer to figure 6?19 ). figure 6?17. rsds interface with single resistor network on the top and bottom i/o banks (note 1) note to figure 6?17 : (1) r p value is pending characterization. rsds receiver 100 50 cyclone iv device single resistor network emulated rsds transmitter r p 50
6?34 chapter 6: i/o features in cyclone iv devices high-speed i/o standards support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?19 shows the lvpecl dc-coupled termination. differential sstl i/o standard support in cyclone iv devices the differential sstl i/o standard is a memory-bus standard used for applications such as high-speed ddr sdram interfaces. cyclone iv devices support differential sstl-2 and sstl-18 i/o standards. the differential sstl i/o standard requires two differential inputs with an external reference voltage ( vref ) as well as an external termination voltage ( vtt ) of 0.5 v ccio to which termination resistors are connected. the differential sstl output standard is only supported at pll#_clkout pins using two single-ended sstl output buffers ( pll#_clkoutp and pll#_clkoutn ), with the second output programmed to have opposite polarity. the differential sstl input standard is supported on the gclk pins only, treating differential inputs as two single-ended sstl and only decoding one of them. f for differential sstl electrical specifications, refer to ?differential i/o standard termination? on page 6?15 and the cyclone iv device datasheet chapter. 1 figure 6?8 on page 6?15 shows the differential sstl class i and class ii interface. figure 6?18. lvpecl ac-coupled termination (note 1) note to figure 6?18 : (1) the lvpecl ac-coupled termination is applicable only when an altera fpga transmitter is used. figure 6?19. lvpecl dc-coupled termination (note 1) note to figure 6?19 : (1) the lvpecl dc-coupled termination is applicable only when an altera fpga transmitter is used. cyclone iv device lvpecl receiver 50 50 v icm z 0 = 50 z 0 = 50 lvpecl transmitter 0.1 f 0.1 f cyclone iv de v ice lvpecl recei v er 100 50 50 lvpecl transmitter
chapter 6: i/o features in cyclone iv devices 6?35 true output buffer feature ? december 2010 altera corporation cyclone iv device handbook, volume 1 differential hstl i/o standard support in cyclone iv devices the differential hstl i/o standard is used for the applications designed to operate in 0v to 1.2v, 0v to 1.5v, or 0v to 1.8v hstl logic switching range. cyclone iv devices support differential hstl-18, hstl-15, and hstl-12 i/o standards. the differential hstl input standard is available on gclk pins only, treating the differential inputs as two single-ended hstl and only decoding one of them. the differential hstl output standard is only supported at the pll#_clkout pins using two single-ended hstl output buffers ( pll#_clkout p and pll#_clkout n ), with the second output programmed to have opposite polarity. the standard requires two differential inputs with an external reference voltage ( vref ), as well as an external termination voltage ( vtt ) of 0.5 v ccio to which termination resistors are connected. f for differential hstl signaling characteristics, refer to ?differential i/o standard termination? on page 6?15 and the cyclone iv device datasheet chapter. 1 figure 6?7 on page 6?15 shows the differential hstl class i and class ii interface. true output buffer feature cyclone iv devices true differential transmitters offer programmable pre-emphasis? you can turn it on or off. the default setting is on. programmable pre-emphasis the programmable pre-emphasis boosts the high frequencies of the output signal to compensate the frequency-dependant attenuation of the transmission line to maximize the data eye opening at the far-end receiver. without pre-emphasis, the output current is limited by the v od specification and the output impedance of the transmitter. at high frequency, the slew rate may not be fast enough to reach full v od before the next edge; this may lead to pattern-dependent jitter. with pre-emphasis, the output current is momentarily boosted during switching to increase the output slew rate. the overshoot produced by this extra switching current is different from the overshoot caused by signal reflection. this overshoot happens only during switching, and does not produce ringing. the quartus ii software allows two settings for programmable pre-emphasis control? 0 and 1 , in which 0 is pre-emphasis off and 1 is pre-emphasis on. the default setting is 1 . the amount of pre-emphasis needed depends on the amplification of the high-frequency components along the transmission line. you must adjust the setting to suit your designs, as pre-emphasis decreases the amplitude of the low-frequency component of the output signal.
6?36 chapter 6: i/o features in cyclone iv devices high-speed i/o timing cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 6?20 shows the differential output signal with pre-emphasis. high-speed i/o timing this section discusses the timing budget, waveforms, and specifications for source-synchronous signaling in cyclone iv devices. timing for source-synchronous signaling is based on skew between the data and clock signals. high-speed differential data transmission requires timing parameters provided by ic vendors and requires you to consider the board skew, cable skew, and clock jitter. this section provides information about high-speed i/o standards timing parameters in cyclone iv devices. ta b l e 6 ?11 defines the parameters of the timing diagram shown in figure 6?21 . figure 6?20. the output signal with pre-emphasis v od positive channel (p) negative channel (n) overshoot undershoot table 6?11. high-speed i/o timing definitions parameter symbol description transmitter channel-to-channel skew (1) tccs the timing difference between the fastest and slowest output edges, including t co variation and clock skew. the clock is included in the tccs measurement. sampling window sw the period of time during which the data must be valid in order for you to capture it correctly. the setup and hold times determine the ideal strobe position in the sampling window. t sw =t su +t hd + pll jitter. time unit interval tui the tui is the data-bit timing budget allowed for skew, propagation delays, and data sampling window. receiver input skew margin rskm rskm is defined by the total margin left after accounting for the sampling window and tccs. the rskm equation is: input jitter tolerance (peak-to-peak) ? allowed input jitter on the input clock to the pll that is tolerable while maintaining pll lock. output jitter (peak-to-peak) ? peak-to-peak output jitter from the pll. note to table 6?11 : (1) the tccs specification applies to the entire bank of differential i/o as long as the serdes logic is placed in the logic arr ay block (lab) adjacent to the output pins. rskm tui sw tccs ? ? ?? 2 ---------------------------------------------- =
chapter 6: i/o features in cyclone iv devices 6?37 high-speed i/o timing ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 6?22 shows the cyclone iv devices high-speed i/o timing budget. f for more information, refer to the cyclone iv device datasheet chapter. figure 6?21. high-speed i/o timing diagram sampling w indo w (s w ) time unit inter v al (tui) rskm tccs rskm tccs internal clock external inp u t clock recei v er inp u t data figure 6?22. cyclone iv devices high-speed i/o timing budget (note 1) note to figure 6?22 : (1) the equation for the high-speed i/o timing budget is: internal clock period rskm 0.5 tccs rskm 0.5 tccs s w period 0.5 tccs rskm sw rskm 0.5 tccs. ? ++++ ? =
6?38 chapter 6: i/o features in cyclone iv devices design guidelines cyclone iv device handbook, volume 1 ? december 2010 altera corporation design guidelines this section provides guidelines for designing with cyclone iv devices. differential pad placement guidelines to maintain an acceptable noise level on the v ccio supply, you must observe some restrictions on the placement of single-ended i/o pins in relation to differential pads. 1 for guidelines on placing single-ended pads with respect to differential pads in cyclone iv devices, refer to ?pad placement and dc guidelines? on page 6?22 . board design considerations this section explains how to achieve the optimal performance from a cyclone iv i/o interface and ensure first-time success in implementing a functional design with optimal signal quality. you must consider the critical issues of controlled impedance of traces and connectors, differential routing, and termination techniques to get the best performance from cyclone iv devices. use the following general guidelines to improve signal quality: base board designs on controlled differential impedance. calculate and compare all parameters, such as trace width, trace thickness, and the distance between two differential traces. maintain equal distance between traces in differential i/o standard pairs as much as possible. routing the pair of traces close to each other maximizes the common-mode rejection ratio (cmrr). longer traces have more inductance and capacitance. these traces must be as short as possible to limit signal integrity issues. place termination resistors as close to receiver input pins as possible. use surface mount components. avoid 90 corners on board traces. use high-performance connectors. design backplane and card traces so that trace impedance matches the impedance of the connector and termination. keep an equal number of vias for both signal traces. create equal trace lengths to avoid skew between signals. unequal trace lengths result in misplaced crossing points and decrease system margins as the tccs value increases. limit vias because they cause discontinuities. keep switching transistor-to-transistor logic (ttl) signals away from differential signals to avoid possible noise coupling. do not route ttl clock signals to areas under or above the differential signals. analyze system-level signals.
chapter 6: i/o features in cyclone iv devices 6?39 software overview ? december 2010 altera corporation cyclone iv device handbook, volume 1 f for pcb layout guidelines, refer to an 224: high-speed board layout guidelines and an 315: guidelines for designing high-speed fpga pcbs . software overview cyclone iv devices high-speed i/o system interfaces are created in core logic by a quartus ii software megafunction because they do not have a dedicated circuit for the serdes. cyclone iv devices use the i/o registers and le registers to improve the timing performance and support the serdes. the quartus ii software allows you to design your high-speed interfaces using altlvds megafunction. this megafunction implements either a high-speed deserializer receiver or a high-speed serializer transmitter. there is a list of parameters in the altlvds megafunction that you can set to customize your serdes based on your design requirements. the megafunction is optimized to use cyclone iv devices resources to create high-speed i/o interfaces in the most effective manner. 1 when you use cyclone iv devices with the altlvds megafunction, the interface always sends the msb of your parallel data first. f for more details about designing your high-speed i/o systems interfaces using the altlvds megafunction, refer to the altlvds megafunction user guide and the quartus ii handbook .
6?40 chapter 6: i/o features in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? december 2010 altera corporation document revision history ta b l e 6 ?1 2 lists the revision history for this chapter. table 6?12. document revision history date version changes made december 2010 2.2 updated for the quartus ii software version 10.1 release. added cyclone iv e new device package information. added ?clock pins functionality? section. updated table 6?4 and table 6?8 . minor text edits. july 2010 2.1 updated ?cyclone iv i/o elements?, ?programmable pull-up resistor?, ?i/o banks?, ?high-speed i/o interface?, and ?designing with blvds? sections. updated table 6?6 and table 6?7. updated figure 6?19. february 2010 2.0 added cyclone iv e devices information for the quartus ii software version 9.1 sp1 release. updated table 6?2, table 6?3, and table 6?10. updated ?i/o banks? section. added figure 6?9. updated figure 6?10 and figure 6?11. added table 6?4, table 6?6, and table 6?8. november 2009 1.0 initial release.
? december 2010 altera corporation cyclone iv device handbook, volume 1 7. external memory interfaces in cyclone iv devices this chapter describes the memory interface pin support and the external memory interface features of cyclone ? iv devices. in addition to an abundant supply of on-chip memory, cyclone iv devices can easily interface with a broad range of external memory devices, including ddr2 sdram, ddr sdram, and qdr ii sram. external memory devices are an important system component of a wide range of image processing, storage, communications, and general embedded applications. 1 altera recommends that you construct all ddr2 or ddr sdram external memory interfaces using the altera ? altmemphy megafunction. you can implement the controller function using the altera ddr2 or ddr sdram memory controllers, third-party controllers, or a custom controller for unique application needs. cyclone iv devices support qdr ii interfaces electrically, but altera does not supply controller or physical layer (phy) megafunctions for qdr ii interfaces. this chapter includes the following sections: ?cyclone iv devices memory interfaces pin support? on page 7?2 ?cyclone iv devices memory interfaces features? on page 7?12 f for more information about supported maximum clock rate, device and pin planning, ip implementation, and device termination, refer to the external memory interface handbook . figure 7?1 shows the block diagram of a typical external memory interface data path in cyclone iv devices. figure 7?1. cyclone iv devices external memory data path (note 1) note to figure 7?1 : (1) all clocks shown here are global clocks. dqs/cq/cqn oe v cc pll g n d system clock dq oe dataa datab -90 shifted clock ioe register ioe register ioe register ioe register ioe register ioe register ioe register le register le register le register ioe register capt u re clock cyiv-51007-2.2
7?2 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support cyclone iv device handbook, volume 1 ? december 2010 altera corporation f for more information about implementing complete external memory interfaces, refer to the external memory interface handbook . cyclone iv devices memory interfaces pin support cyclone iv devices use data (dq), data strobe (dqs), clock, command, and address pins to interface with external memory. some memory interfaces use the data mask (dm) or byte write select (bws#) pins to enable data masking. this section describes how cyclone iv devices support all these different pins. f for more information about pin utilization, refer to volume 2: device, pin, and board layout guidelines of the external memory interface handbook. data and data clock/strobe pins cyclone iv data pins for external memory interfaces are called d for write data, q for read data, or dq for shared read and write data pins. the read-data strobes or read clocks are called dqs pins. cyclone iv devices support both bidirectional data strobes and unidirectional read clocks. depending on the external memory standard, the dq and dqs are bidirectional signals (in ddr2 and ddr sdram) or unidirectional signals (in qdr ii sram). connect the bidirectional dq data signals to the same cyclone iv devices dq pins. for unidirectional d or q signals, connect the read-data signals to a group of dq pins and the write-data signals to a different group of dq pins. 1 in qdr ii sram, the q read-data group must be placed at a different v ref bank location from the d write-data group, command, or address pins. in cyclone iv devices, dqs is used only during write mode in ddr2 and ddr sdram interfaces. cyclone iv devices ignore dqs as the read-data strobe because the phy internally generates the read capture clock for read mode. however, you must connect the dqs pin to the dqs signal in ddr2 and ddr sdram interfaces, or to the cq signal in qdr ii sram interfaces. 1 cyclone iv devices do not support differential strobe pins, which is an optional feature in the ddr2 sdram device. f when you use the altera memory controller megacore ? function, the phy is instantiated for you. for more information about the memory interface data path, refer to the external memory interface handbook . 1 altmemphy is a self-calibrating megafunction, enhanced to simplify the implementation of the read-data path in different memory interfaces. the auto-calibration feature of altmemphy provides ease-of-use by optimizing clock phases and frequencies across process, voltage, and temperature (pvt) variations. you can save on the global clock resources in cyclone iv devices through the altmemphy megafunction because you are not required to route the dqs signals on the global clock buses (because dqs is ignored for read capture). resynchronization issues do not arise because no transfer occurs from the memory domain clock (dqs) to the system domain for capturing data dq.
chapter 7: external memory interfaces in cyclone iv devices 7?3 cyclone iv devices memory interfaces pin support ? december 2010 altera corporation cyclone iv device handbook, volume 1 all i/o banks in cyclone iv devices can support dq and dqs signals with dq-bus modes of 8, 9, 16, 18, 32, and 36 except cyclone iv gx devices that do not support left i/o bank interface. ddr2 and ddr sdram interfaces use 8 mode dqs group regardless of the interface width. for a wider interface, you can use multiple 8 dq groups to achieve the desired width requirement. in the 9, 18, and 36 modes, a pair of complementary dqs pins (cq and cq#) drives up to 9, 18, or 36 dq pins, respectively, in the group, to support one, two, or four parity bits and the corresponding data bits. the 9, 18, and 36 modes support the qdr ii memory interface. cq# is the inverted read-clock signal that is connected to the complementary data strobe (dqs or cq# ) pin. you can use any unused dq pins as regular user i/o pins if they are not used as memory interface signals. f for more information about unsupported dqs and dq groups of the cyclone iv transceivers that run at ? 2.97 gbps data rate, refer to the cyclone iv device family pin connection guidelines . ta b l e 7 ?1 lists the number of dqs or dq groups supported on each side of the cyclone iv gx device. table 7?1. cyclone iv gx device dqs and dq bus mode support for each side of the device (note 1) (part 1 of 2) device package side number 8 groups number 9 groups number 16 groups number 18 groups number 32 groups number 36 groups ep4cgx15 148-pin qfn right 1000?? top (2) 1000?? bottom (3) 1000?? 169-pin fbga right 1000?? top (2) 1000?? bottom (3) 1000?? ep4cgx22 ep4cgx30 169-pin fbga right 1000?? top (2) 1000?? bottom (3) 1000?? 324-pin fbga right 2211?? top 2211?? bottom 2211?? 484-pin fbga (4) right 422211 top 422211 bottom 422211 ep4cgx50 ep4cgx75 484-pin fbga right 422211 top 422211 bottom 422211 672-pin fbga right 422211 top 422211 bottom 422211
7?4 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support cyclone iv device handbook, volume 1 ? december 2010 altera corporation ta b l e 7 ?2 lists the number of dqs or dq groups supported on each side of the cyclone iv e device. ep4cgx110 ep4cgx150 484-pin fbga right 422211 top 422211 bottom 422211 672-pin fbga right 422211 top 422211 bottom 422211 896-pin fbga right 622211 top 623311 bottom 623311 notes to table 7?1 : (1) the number of the dqs/dq group is still preliminary. (2) some of the dq pins can be used as rup and rdn pins. you cannot use these groups if you are using these pins as rup and rdn pins for oct calibration. (3) some of the dq pins can be used as rup pins while the dm pins can be used as rdn pins. you cannot use these groups if you ar e using the rup and rdn pins for oct calibration. (4) only available for ep4cgx30 device. table 7?1. cyclone iv gx device dqs and dq bus mode support for each side of the device (note 1) (part 2 of 2) device package side number 8 groups number 9 groups number 16 groups number 18 groups number 32 groups number 36 groups table 7?2. cyclone iv e device dqs and dq bus mode support for each side of the device (note 1) (part 1 of 3) device package side number 8 groups number 9 groups number 16 groups number 18 groups number 32 groups number 36 groups ep4ce6 ep4ce10 144-pin eqfp left 0000?? right 0000?? bottom (2) , (4) 1000?? top (2) , (5) 1000?? 256-pin ubga left (2) 1100?? right (3) 1100?? bottom 2 2 1 1 ? ? top 2 2 1 1 ? ? 256-pin fbga left (2) 1100?? right (3) 1100?? bottom 2211?? top 2 2 1 1 ? ?
chapter 7: external memory interfaces in cyclone iv devices 7?5 cyclone iv devices memory interfaces pin support ? december 2010 altera corporation cyclone iv device handbook, volume 1 ep4ce15 144-pin eqfp left 0000?? right 0000?? bottom (2) , (4) 1000?? top (2) , (5) 1000?? 164-pin mbga left 0000?? right 0000?? bottom (2) , (4) 1000?? top (2) , (5) 1000?? 256-pin ubga left (2) 1100?? right (3) 1100?? bottom 2 2 1 1 ? ? top 2 2 1 1 ? ? 256-pin fbga left (2) 1100?? right (3) 1100?? bottom 2211?? top 2 2 1 1 ? ? 484-pin fbga left 442211 right 442211 bottom 442211 top 442211 ep4ce22 144-pin eqfp left 0000?? right 0000?? bottom (2) , (4) 1000?? top (2) , (5) 1000?? 256-pin ubga left (2) 1100?? right (3) 1100?? bottom 2211?? top 2 2 1 1 ? ? 256-pin fbga left (2) 1100?? right (3) 1100?? bottom 2211?? top 2 2 1 1 ? ? table 7?2. cyclone iv e device dqs and dq bus mode support for each side of the device (note 1) (part 2 of 3) device package side number 8 groups number 9 groups number 16 groups number 18 groups number 32 groups number 36 groups
7?6 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support cyclone iv device handbook, volume 1 ? december 2010 altera corporation f for more information about device package outline, refer to the device packaging specifications webpage. dqs pins are listed in the cyclone iv pin tables as dqsxy , in which x indicates the dqs grouping number and y indicates whether the group is located on the top ( t ), bottom ( b ), or right ( r ) side of the device. similarly, the corresponding dq pins are marked as dqxy , in which the x denotes the dq grouping number and y denotes whether the group is located on the top ( t ), bottom ( b ), or right ( r ) side of the device. for example, dqs2t indicates a dqs pin belonging to group 2 , located on the top side of the device. similarly, the dq pins belonging to that group is shown as dq2t . ep4ce30 ep4ce115 484-pin fbga left 442211 right 442211 bottom 442211 top 442211 780-pin fbga left 442211 right 442211 bottom 662211 top 662211 ep4ce40 ep4ce55 ep4ce75 484-pin ubga left 442211 right 442211 bottom 442211 top 442211 484-pin fbga left 442211 right 442211 bottom 442211 top 442211 780-pin fbga left 442211 right 442211 bottom 662211 top 662211 notes to table 7?2 : (1) the number of the dqs/dq group is still preliminary. (2) some of the dq pins can be used as rup and rdn pins. you cannot use these groups if you are using these pins as rup and rdn pins for oct calibration. (3) some of the dq pins can be used as rup pins while the dm pins can be used as rdn pins. you cannot use these groups if you ar e using the rup and rdn pins for oct calibration. (4) there is no dm pin support for these groups. (5) pllclkout3n and pllclkout3p pins are shared with the dq or dm pins to gain 8 dq group. you cannot use these groups if you are using pllclkout3n and pllclkout3p . table 7?2. cyclone iv e device dqs and dq bus mode support for each side of the device (note 1) (part 3 of 3) device package side number 8 groups number 9 groups number 16 groups number 18 groups number 32 groups number 36 groups
chapter 7: external memory interfaces in cyclone iv devices 7?7 cyclone iv devices memory interfaces pin support ? december 2010 altera corporation cyclone iv device handbook, volume 1 1 each dq group is associated with its corresponding dqs pins, as defined in the cyclone iv pin tables. for example: for ddr2 or ddr sdram, 8 dq group dq3b[7..0] pins are associated with the dqs3b pin (same 3b group index) for qdr ii sram, 9 q read-data group dq3t[8..0] pins are associated with dqs0t/cq0t and dqs1t/cq0t# pins (same 0t group index) the quartus ? ii software issues an error message if a dq group is not placed properly with its associated dqs. figure 7?2 shows the location and numbering of the dqs, dq, or cq# pins in the cyclone iv gx i/o banks. figure 7?3 shows the location and numbering of the dqs, dq, or cq# pins in i/o banks of the cyclone iv gx device in the 324-pin fbga package only. figure 7?2. dqs, cq, or cq# pins in cyclone iv gx i/o banks (note 1) note to figure 7?2 : (1) the dqs, cq, or cq# pin locations in this diagram apply to all packages in cyclone iv gx devices except devices in 148-pin qfp, 169-pin fbga, and 324-pin fbga. i/o bank 8 b i/o bank 3b i/o bank 3 i/o bank 3a i/o bank 4 i/o bank 8 i/o bank 8 a i/o bank 7 i/o bank 9 transcei v er block (ql1) transcei v er block (ql0) i/o bank 6 i/o bank 5 cyclone iv gx de v ice dqs4t/cq5t dqs2t/cq3t dqs0t/cq1t dqs4r/cq5r dqs2r/cq3r dqs0r/cq1r dqs1r/cq1r# dqs3r/cq3r# dqs5r/cq5r# dqs1b/cq1b# dqs3b/cq3b# dqs5b/cq5b# dqs4b/cq5b dqs2b/cq3b dqs0b/cq1b dqs1t/cq1t# dqs3t/cq3t# dqs5t/cq5t#
7?8 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 7?4 shows the location and numbering of the dqs, dq, or cq# pins in i/o banks of the cyclone iv gx device in the 148-pin qfp and 169-pin fbga packages. figure 7?3. dqs, cq, or cq# pins for cyclone iv gx devices in the 324-pin fbga package figure 7?4. dqs, cq, or cq# pins for cyclone iv gx devices in the 148-pin qfp and 169-pin fbga packages i/o bank 9 i/o bank 3 i/o bank 3a i/o bank 4 i/o bank 8 i/o bank 8 a i/o bank 7 transcei v er block (ql1) i/o bank 6 i/o bank 5 cyclone iv gx de v ice 324-pin fbga package dqs2t/cq1t dqs0t/cq0t dqs2r/cq1r dqs0r/cq0r dqs1r/cq0r# dqs3r/cq1r# dqs1b/cq0b# dqs3b/cq1b# dqs2b/cq1b dqs0b/cq0b dqs1t/cq0t# dqs3t/cq1t# i/o bank 9 i/o bank 3 i/o bank 3a i/o bank 4 i/o bank 8 i/o bank 8 a i/o bank 7 transcei v er block (ql1) i/o bank 6 i/o bank 5 cyclone iv gx de v ice 14 8 -pin qfp and 169-pin fbga packages dqs0t/cq0t dqs0r/cq0r dqs1r/cq0r# dqs1b/cq0b# dqs0b/cq0b dqs1t/cq0t#
chapter 7: external memory interfaces in cyclone iv devices 7?9 cyclone iv devices memory interfaces pin support ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 7?5 shows the location and numbering of the dqs, dq, or cq# pins in the cyclone iv e device i/o banks. figure 7?5. dqs, cq, or cq# pins in cyclone iv e i/o banks (note 1) note to figure 7?5 : (1) the dqs, cq, or cq# pin locations in this diagram apply to all packages in cyclone iv e devices except devices in 144-pin eq fp. i/o bank 8 i/o bank 7 i/o bank 3 i/o bank 4 i/o bank 2 i/o bank 1 i/o bank 6 i/o bank 5 cyclone iv e de v ice dqs2l/cq3l dqs0l/cq1l dqs1l/cq1l# dqs3l/cq3l# dqs2r/cq3r dqs0r/cq1r dqs1r/cq1r# dqs3r/cq3r# dqs1b/cq1b# dqs3b/cq3b# dqs5b/cq5b# dqs4b/cq5b dqs2b/cq3b dqs0b/cq1b dqs1t/cq1t# dqs3t/cq3t# dqs5t/cq5t# dqs4t/cq5t dqs2t/cq3t dqs0t/cq1t
7?10 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces pin support cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 7?6 shows the location and numbering of the dqs, dq, or cq# pins in i/o banks of the cyclone iv e device in the 144-pin eqfp and 164-pin mbga packages. in cyclone iv devices, the 9 mode uses the same dq and dqs pins as the 8 mode, and one additional dq pin that serves as a regular i/o pin in the 8 mode. the 18 mode uses the same dq and dqs pins as 16 mode, with two additional dq pins that serve as regular i/o pins in the 16 mode. similarly, the 36 mode uses the same dq and dqs pins as the 32 mode, with four additional dq pins that serve as regular i/o pins in the 32 mode. when not used as dq or dqs pins, the memory interface pins are available as regular i/o pins. optional parity, dm, and error correction coding pins cyclone iv devices support parity in 9, 18, and 36 modes. one parity bit is available per eight bits of data pins. you can use any of the dq pins for parity in cyclone iv devices because the parity pins are treated and configured similarly to dq pins. dm pins are only required when writing to ddr2 and ddr sdram devices. qdr ii sram devices use the bws# signal to select the byte to be written into memory. a low signal on the dm or bws# pin indicates the write is valid. driving the dm or bws# pin high causes the memory to mask the dq signals. each group of dqs and dq signals has one dm pin. similar to the dq output signals, the dm signals are clocked by the -90 shifted clock. in cyclone iv devices, the dm pins are preassigned in the device pinouts. the quartus ii fitter treats the dq and dm pins in a dqs group equally for placement purposes. the preassigned dq and dm pins are the preferred pins to use. figure 7?6. dqs, cq, or cq# pins for cyclone iv e devices in the 144-pin eqfp and 164-pin mbga packages cyclone iv e de v ices in 144-pin eqfp and 164-pin mbga i/o bank 8 i/o bank 7 i/o bank 4 i/o bank 3 i/o bank 2 i/o bank 1 i/o bank 6 i/o bank 5 dqs0l/cq1l dqs1l/cq1l# dqs1r/cq1r# dqs0r/cq1r dqs1t/cq1t# dqs0t/cq1t dqs0b/cq1b dqs1b/cq1b#
chapter 7: external memory interfaces in cyclone iv devices 7?11 cyclone iv devices memory interfaces pin support ? december 2010 altera corporation cyclone iv device handbook, volume 1 some ddr2 sdram and ddr sdram devices support error correction coding (ecc), a method of detecting and automatically correcting errors in data transmission. in 72-bit ddr2 or ddr sdram, there are eight ecc pins and 64 data pins. connect the ddr2 and ddr sdram ecc pins to a separate dqs or dq group in cyclone iv devices. the memory controller needs additional logic to encode and decode the ecc data. address and control/command pins the address signals and the control or command signals are typically sent at a single data rate. you can use any of the user i/o pins on all i/o banks of cyclone iv devices to generate the address and control or command signals to the memory device. 1 cyclone iv devices do not support qdr ii sram in the burst length of two. memory clock pins in ddr2 and ddr sdram memory interfaces, the memory clock signals (ck and ck#) are used to capture the address signals and the control or command signals. similarly, qdr ii sram devices use the write clocks (k and k#) to capture the address and command signals. the ck/ck# and k/k# signals are generated to resemble the write-data strobe using the ddio registers in cyclone iv devices. 1 ck/ck# pins must be placed on differential i/o pins (diffio in pin planner) and in the same bank or on the same side as the data pins. you can use either side of the device for wraparound interfaces. as seen in the pin planner pad view, ck0 cannot be located in the same row and column pad group as any of the interfacing dq pins. f for more information about memory clock pin placement, refer to volume 2: device, pin, and board layout guidelines of the external memory interface handbook.
7?12 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces features cyclone iv device handbook, volume 1 ? december 2010 altera corporation cyclone iv devices memory interfaces features this section discusses cyclone iv memory interfaces, including ddr input registers, ddr output registers, oct, and phase-lock loops (plls). ddr input registers the ddr input registers are implemented with three internal logic element (le) registers for every dq pin. these le registers are located in the logic array block (lab) adjacent to the ddr input pin. figure 7?7 illustrates cyclone iv ddr input registers. these ddr input registers are implemented in the core of devices. the ddr data is first fed to two registers, input register a i and input register b i . input register a i captures the ddr data present during the rising edge of the clock input register b i captures the ddr data present during the falling edge of the clock register c i aligns the data before it is synchronized with the system clock the data from the ddr input register is fed to two registers, sync_reg_h and sync_reg_l , then the data is typically transferred to a fifo block to synchronize the two data streams to the rising edge of the system clock. because the read-capture clock is generated by the pll, the read-data strobe signal (dqs or cq) is not used during read operation in cyclone iv devices; hence, postamble is not a concern in this case. figure 7?7. cyclone iv ddr input registers datao u t_h le register le register le register dq datao u t_l inp u t register b i inp u t register a i neg_reg_o u t register c i ddr inp u t registers in cyclone iv de v ice capt u re clock pll
chapter 7: external memory interfaces in cyclone iv devices 7?13 cyclone iv devices memory interfaces features ? december 2010 altera corporation cyclone iv device handbook, volume 1 ddr output registers a dedicated write ddio block is implemented in the ddr output and output enable paths. figure 7?8 shows how a cyclone iv dedicated write ddio block is implemented in the i/o element (ioe) registers. the two ddr output registers are located in the i/o element (ioe) block. two serial data streams routed through datain_l and datain_h , are fed into two registers, output register ao and output register bo , respectively, on the same clock edge. the output from output register ao is captured on the falling edge of the clock, while the output from output register bo is captured on the rising edge of the clock. the registered outputs are multiplexed by the common clock to drive the ddr output pin at twice the data rate. the ddr output enable path has a similar structure to the ddr output path in the ioe block. the second output enable register provides the write preamble for the dqs strobe in ddr external memory interfaces. this active-low output enable register extends the high-impedance state of the pin by half a clock cycle to provide the external memory?s dqs write preamble time specification. f for more information about cyclone iv ioe registers, refer to the cyclone iv device i/o features chapter. figure 7?8. cyclone iv dedicated write ddio ioe register ioe register ou t pu t enable -90 shif t ed clock da t ain_l output enable register a oe output enable register b oe data1 data0 ioe register output register a o data0 data1 da t ain_h ioe register output register b o ddr output registers ddr output enable registers dq or dqs ?
7?14 chapter 7: external memory interfaces in cyclone iv devices cyclone iv devices memory interfaces features cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 7?9 illustrates how the second output enable register extends the dqs high-impedance state by half a clock cycle during a write operation. oct with calibration cyclone iv devices support calibrated on-chip series termination (r s oct) in both vertical and horizontal i/o banks. to use the calibrated oct, you must use the rup and rdn pins for each r s oct control block (one for each side). you can use each oct calibration block to calibrate one type of termination with the same v ccio for that given side. f for more information about the cyclone iv devices oct calibration block, refer to the cyclone iv device i/o features chapter. pll when interfacing with external memory, the pll is used to generate the memory system clock, the write clock, the capture clock and the logic-core clock. the system clock generates the dqs write signals, commands, and addresses. the write-clock is shifted by -90 from the system clock and generates the dq signals during writes. you can use the pll reconfiguration feature to calibrate the read-capture phase shift to balance the setup and hold margins. 1 the pll is instantiated in the altmemphy megafunction. all outputs of the pll are used when the altmemphy megafunction is instantiated to interface with external memories. pll reconfiguration is used in the altmemphy megafunction to calibrate and track the read-capture phase to maintain the optimum margin. f for more information about usage of pll outputs by the altmemphy megafunction, refer to the external memory interface handbook . f for more information about cyclone iv pll, refer to the clock networks and plls in cyclone iv devices chapter. figure 7?9. extending the oe disable by half a clock cycle for a write transaction (note 1) note to figure 7?9 : (1) the waveform reflects the software simulation result. the oe signal is an active low on the device. however, the quartus ii software implements the signal as an active high and automatically adds an inverter before the a oe register d input. system clock (o u tclock for dqs) oe for dqs (from logic array) dqs w rite clock (o u tclock for dq, -90 phase shifted from system clock) o datain_h (from logic array) datain_i (from logic array) oe for dq (from logic array) dq d0 d1 d2 d3 d0 d2 d1 d3 pream b le postam b le delay b y half a clock cycle 90 o
chapter 7: external memory interfaces in cyclone iv devices 7?15 document revision history ? december 2010 altera corporation cyclone iv device handbook, volume 1 document revision history ta b l e 7 ?3 lists the revision history for this chapter. table 7?3. document revision history date version changes made december 2010 2.2 updated for the quartus ii software version 10.1 release. added cyclone iv e new device package information. updated table 7?2 . minor text edits. november 2010 2.1 updated ?data and data clock/strobe pins? section. february 2010 2.0 added cyclone iv e devices information for the quartus ii software version 9.1 sp1 release. updated table 7?1. added table 7?2. added figure 7?5 and figure 7?6. november 2009 1.0 initial release.
7?16 chapter 7: external memory interfaces in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? december 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 1 section iii. system integration this section includes the following chapters: chapter 8, configuration and remote system upgrades in cyclone iv devices chapter 9, seu mitigation in cyclone iv devices chapter 10, jtag boundary-scan testing for cyclone iv devices chapter 11, power requirements for cyclone iv devices revision history refer to each chapter for its own specific revision history. for information on when each chapter was updated, refer to the chapter revision dates section, which appears in the complete handbook.

? december 2010 altera corporation cyclone iv device handbook, volume 1 8. configuration and remote system upgrades in cyclone iv devices this chapter describes the configuration and remote system upgrades in cyclone ? iv devices. cyclone iv (cyclone iv gx and cyclone iv e) devices use sram cells to store configuration data. you must download the configuration data to cyclone iv devices each time the device powers up because sram memory is volatile. cyclone iv devices are configured using one of the following configuration schemes: active serial (as) active parallel (ap) (supported in cyclone iv e devices only) passive serial (ps) fast passive parallel (fpp) (not supported in ep4cgx15, ep4cgx22, and ep4cgx30 [except for the f484 package] devices) jtag cyclone iv devices offer the following configuration features: configuration data decompression ( ?configuration data decompression? on page 8?2 ) remote system upgrade ( ?remote system upgrade? on page 8?68 ) system designers face difficult challenges, such as shortened design cycles, evolving standards, and system deployments in remote locations. cyclone iv devices help overcome these challenges with inherent re-programmability and dedicated circuitry to perform remote system upgrades. remote system upgrades help deliver feature enhancements and bug fixes without costly recalls, reduced time-to-market, and extended product life. configuration this section describes cyclone iv device configuration and includes the following topics: ?configuration features? on page 8?2 ?configuration requirement? on page 8?3 ?configuration process? on page 8?6 ?configuration scheme? on page 8?8 ?as configuration (serial configuration devices)? on page 8?10 ?ap configuration (supported flash memories)? on page 8?20 ?ps configuration? on page 8?31 ?fpp configuration? on page 8?39 ?jtag configuration? on page 8?44 ?device configuration pins? on page 8?61 cyiv-51008-1.3
8?2 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation configuration features ta b l e 8 ?1 lists the configuration methods you can use in each configuration scheme. configuration data decompression cyclone iv devices support configuration data decompression, which saves configuration memory space and time. this feature allows you to store compressed configuration data in configuration devices or other memory and send the compressed bitstream to cyclone iv devices. during configuration, cyclone iv devices decompress the bitstream in real time and program the sram cells. 1 preliminary data indicates that compression reduces the configuration bitstream size by 35 to 55%. when you enable compression, the quartus ii software generates configuration files with compressed configuration data. this compressed file reduces the storage requirements in the configuration device or flash memory and decreases the time required to send the bitstream to the cyclone iv device. the time required by a cyclone iv device to decompress a configuration file is less than the time required to send the configuration data to the device. there are two methods for enabling compression for the cyclone iv device bitstreams in the quartus ii software: before design compilation (through the compiler settings menu) after design compilation (through the convert programming files dialog box) to enable compression in the compiler settings of the project in the quartus ii software, perform the following steps: 1. on the assignments menu, click device . the settings dialog box appears. 2. click device and pin options . the device and pin options dialog box appears. 3. click the configuration tab. 4. turn on generate compressed bitstreams . 5. click ok . 6. in the settings dialog box, click ok . table 8?1. configuration features in cyclone iv devices configuration scheme configuration method decompression remote system upgrade (1) as serial configuration device vv ap supported flash memory (2) ? v ps external host with flash memory vv (3) download cable v ? fpp external host with flash memory ? v (3) jtag based configuration external host with flash memory ? ? download cable ? ? notes to table 8?1 : (1) remote update mode is supported when you use the remote system upgrade feature. you can enable or disable remote update mode with an option setting in the quartus ? ii software. (2) for more information about the supported device families for the numonyx commodity parallel flash, refer to table 8?8 on page 8?21 . (3) remote update mode is supported externally using the parallel flash loader (pfl) with the quartus ii software.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?3 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 you can enable compression when creating programming files from the convert programming files dialog box. to enable compression, perform the following steps: 1. on the file menu, click convert programming files . 2. under output programming file , select your desired file type from the programming file type list. 3. if you select programmer object file (.pof) , you must specify the configuration device in the configuration device list. 4. under input files to convert , select sof data . 5. click add file to browse to the cyclone iv device sram object files ( .sof) . 6. in the convert programming files dialog box, select the .pof you added to sof data and click properties . 7. in the sof file properties dialog box, turn on the compression option. when multiple cyclone iv devices are cascaded, you can selectively enable the compression feature for each device in the chain. figure 8?1 shows a chain of two cyclone iv devices. the first device has compression enabled and receives compressed bitstream from the configuration device. the second device has the compression feature disabled and receives uncompressed data. you can generate programming files for this setup in the convert programming files dialog box. configuration requirement this section describes cyclone iv device configuration requirement and includes the following topics: ?power-on reset (por) circuit? on page 8?4 ?configuration file size? on page 8?4 ?power up? on page 8?6 figure 8?1. compressed and uncompressed configuration data in the same configuration file nce gnd nceo decompression controller cyclone i v device nce nceo not connected (n.c.) cyclone i v device serial configuration device se r ial data comp r e ss ed u n comp r e ss ed v cc 10 k
8?4 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation power-on reset (por) circuit the por circuit keeps the device in reset state until the power supply voltage levels have stabilized during device power up. after device power up, the device does not release nstatus until v ccint , v cca , and v ccio (for i/o banks in which the configuration and jtag pins reside) are above the por trip point of the device. v ccint and v cca are monitored for brown-out conditions after device power up. 1 v cca is the analog power to the phase-locked loop (pll). in some applications, it is necessary for a device to wake up very quickly to begin operation. cyclone iv devices offer the fast por time option to support fast wake-up time applications. the fast por time option has stricter power-up requirements when compared with the standard por time option. you can select either the fast option or the standard por option with the msel pin settings. 1 if your system exceeds the fast or standard por time, you must hold nconfig low until all the power supplies are stable. f for more information about the por specifications, refer to the cyclone iv device datasheet . f for more information about the wake-up time and por circuit, refer to the power requirements for cyclone iv devices chapter. configuration file size ta b l e 8 ?2 lists the approximate uncompressed configuration file sizes for cyclone iv devices. to calculate the amount of storage space required for multiple device configurations, add the file size of each device together. table 8?2. uncompressed raw binary file (.rbf) sizes for cyclone iv devices (part 1 of 2) device data size (bits) cyclone iv e ep4ce6 2,944,088 ep4ce10 2,944,088 ep4ce15 4,086,848 ep4ce22 5,748,552 ep4ce30 9,534,304 ep4ce40 9,534,304 ep4ce55 14,889,560 ep4ce75 19,965,752 ep4ce115 28,571,696
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?5 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 use the data in table 8?2 to estimate the file size before design compilation. different configuration file formats, such as hexadecimal ( .hex ) or tabular text file ( .ttf ) formats, have different file sizes. however, for any specific version of the quartus ii software, any design targeted for the same device has the same uncompressed configuration file size. if you use compression, the file size varies after each compilation, because the compression ratio depends on the design. f for more information about setting device configuration options or creating configuration files, refer to the software settings section in volume 2 of the configuration handbook . configuration and jtag pin i/o requirements cyclone iv devices are manufactured using the tsmc 60-nm low-k dielectric process. although cyclone iv devices use tsmc 2.5-v transistor technology in the i/o buffers, the devices are compatible and able to interface with 2.5, 3.0, and 3.3-v configuration voltage standards by following specific requirements. all i/o inputs must maintain a maximum ac voltage of 4.1 v. when using a serial configuration device in an as configuration scheme, you must connect a 25- ? series resistor for the data[0] pin. when cascading the cyclone iv device family in a multi-device configuration for as, ap, fpp, and ps configuration schemes, you must connect the repeater buffers between the master and slave devices for the data and dclk pins. when using the jtag configuration scheme in a multi-device configuration, connect 25- ? resistors on both ends of the tdo-tdi path if the tdo output driver is a non-cyclone iv device. the output resistance of the repeater buffers and the tdo path for all cases must fit the maximum overshoot equation shown in equation 8?1 . cyclone iv gx ep4cgx15 3,805,568 ep4cgx22 7,600,040 ep4cgx30 7,600,040 24,500,000 (1) , (2) ep4cgx50 24,500,000 (1) ep4cgx75 24,500,000 (1) ep4cgx110 39,425,016 ep4cgx150 39,425,016 notes to table 8?2 : (1) these values are preliminary. (2) only for the f484 package. table 8?2. uncompressed raw binary file (.rbf) sizes for cyclone iv devices (part 2 of 2) device data size (bits) equation 8?1. (note 1) note to equation 8?1 : (1) z o is the transmission line impedance and r e is the equivalent resistance of the output buffer. 0.8 z o r e 1.8 z o ??
8?6 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation configuration process this section describes cyclone iv device configuration requirements and includes the following topics: ?power up? on page 8?6 ?reset? on page 8?6 ?configuration? on page 8?6 ?configuration error? on page 8?7 ?initialization? on page 8?7 ?user mode? on page 8?7 f for more information about the altera ? fpga configuration cycle state machine, refer to the configuring altera fpgas chapter in volume 1 of the configuration handbook . power up if the device is powered up from the power-down state, v ccint , v cca , and v ccio (for the i/o banks in which the configuration and jtag pins reside) must be powered up to the appropriate level for the device to exit from por. reset after power up, cyclone iv devices go through por. por delay depends on the msel pin settings, which correspond to your configuration scheme. during por, the device resets, holds nstatus and conf_done low, and tri-states all user i/o pins (for ps and fpp configuration schemes only). to tri-state the configuration bus for as and ap configuration schemes, you must tie nce high. the user i/o pins and dual-purpose i/o pins have weak pull-up resistors, which are always enabled (after por) before and during configuration. when the device exits por, all user i/o pins continue to tri-state. while nconfig is low, the device is in reset. when nconfig goes high, the device exits reset and releases the open-drain nstatus pin, which is then pulled high by an external 10-k ? pull-up resistor. after nstatus is released, the device is ready to receive configuration data and the configuration stage starts. f for more information about the value of the weak pull-up resistors on the i/o pins that are on before and during configuration, refer to the cyclone iv device datasheet chapter. configuration configuration data is latched into the cyclone iv device at each dclk cycle. however, the width of the data bus and the configuration time taken for each scheme are different. after the device receives all the configuration data, the device releases the open-drain conf_done pin, which is pulled high by an external 10-k ?? pull-up resistor. a low-to-high transition on the conf_done pin indicates that the configuration is complete and initialization of the device can begin.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?7 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 you can begin reconfiguration by pulling the nconfig pin low. the nconfig pin must be low for at least 500 ns. when nconfig is pulled low, the cyclone iv device is reset. the cyclone iv device also pulls nstatus and conf_done low and all i/o pins are tri-stated. when nconfig returns to a logic-high level and nstatus is released by the cyclone iv device, reconfiguration begins. configuration error if an error occurs during configuration, cyclone iv devices assert the nstatus signal low, indicating a data frame error and the conf_done signal stays low. if the auto-restart configuration after error option (available in the quartus ii software in the general tab of the device and pin options dialog box) is turned on, the cyclone iv device releases nstatus after a reset time-out period (a maximum of 230 ? s), and retries configuration. if this option is turned off, the system must monitor nstatus for errors and then pulse nconfig low for at least 500 ns to restart configuration. initialization in cyclone iv devices, the initialization clock source is either the internal oscillator or the optional clkusr pin. by default, the internal oscillator is the clock source for initialization. if you use the internal oscillator, the device provides itself with enough clock cycles for proper initialization. when using the internal oscillator, you do not have to send additional clock cycles from an external source to the clkusr pin during the initialization stage. additionally, you can use the clkusr pin as a user i/o pin. you also have the flexibility to synchronize initialization of multiple devices or to delay initialization with the clkusr option. the clkusr pin allows you to control when your device enters user mode for an indefinite amount of time. you can turn on the enable user-supplied start-up clock (clkusr) option in the quartus ii software in the general tab of the device and pin options dialog box. when you turn on the enable user supplied start-up clock option (clkusr) option, the clkusr pin is the initialization clock source. supplying a clock on the clkusr pin does not affect the configuration process. after the configuration data is accepted and conf_done goes high, cyclone iv devices require 3,192 clock cycles to initialize properly and enter user mode. 1 if you use the optional clkusr pin and the nconfig pin is pulled low to restart configuration during device initialization, ensure that the clkusr pin continues to toggle when nstatus is low (a maximum of 230 ? s). user mode an optional init_done pin is available, which signals the end of initialization and the start of user mode with a low-to-high transition. the enable init_done output option is available in the quartus ii software in the general tab of the device and pin options dialog box. if you use the init_done pin, it is high due to an external 10-k ? pull-up resistor when nconfig is low and during the beginning of configuration. after the option bit to enable init_done is programmed into the device (during the first frame of configuration data), the init_done pin goes low. when initialization is complete, the init_done pin is released and pulled high. this low-to-high transition signals that the device has entered user mode. in user mode, the user i/o pins function as assigned in your design and no longer have weak pull-up resistors.
8?8 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation configuration scheme a configuration scheme with different configuration voltage standards is selected by driving the msel pins either high or low, as shown in table 8?3 , table 8?4 , and ta b l e 8 ?5 . 1 hardwire the msel pins to v cca or gnd without pull-up or pull-down resistors to avoid problems detecting an incorrect configuration scheme. do not drive the msel pins with a microprocessor or another device. table 8?3. configuration schemes for cyclone iv gx devices (ep4cgx15, ep4cgx22, and ep4cgx30 [except for f484 package]) configuration scheme msel2 msel1 msel0 por delay configuration voltage standard (v) (1) as 1 0 1 fast 3.3 0 1 1 fast 3.0, 2.5 0 0 1 standard 3.3 0 1 0 standard 3.0, 2.5 ps 1 0 0 fast 3.3, 3.0, 2.5 1 1 0 fast 1.8, 1.5 0 0 0 standard 3.3, 3.0, 2.5 jtag-based configuration (2) (3) (3) (3) ?? notes to table 8?3 : (1) configuration voltage standard applied to the v ccio supply of the bank in which the configuration pins reside. (2) jtag-based configuration takes precedence over other configuration schemes, which means the msel pin settings are ignored. (3) do not leave the msel pins floating. connect them to v cca or gnd. these pins support the non-jtag configuration scheme used in production. altera recommends connecting the msel pins to gnd if your device is only using jtag configuration. table 8?4. configuration schemes for cyclone iv gx devices (ep4cgx30 [only for f484 package], ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150) (part 1 of 2) configuration scheme msel3 msel2 msel1 msel0 por delay configuration voltage standard (v) (1) as 1101 fast 3.3 1011 fast 3.0, 2.5 1001standard 3.3 1 0 1 0 standard 3.0, 2.5 ps 1100 fast 3.3, 3.0, 2.5 1110 fast 1.8, 1.5 1 0 0 0 standard 3.3, 3.0, 2.5 0 0 0 0 standard 1.8, 1.5 fpp 0011 fast 3.3, 3.0, 2.5 0100 fast 1.8, 1.5 0 0 0 1 standard 3.3, 3.0, 2.5 0 0 1 0 standard 1.8, 1.5
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?9 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 1 smaller cyclone iv e devices or package options (e144 and f256 packages) do not have the msel[3] pin. the as fast por configuration scheme at 3.0- or 2.5-v configuration voltage standard and the ap configuration scheme are not supported in cyclone iv e devices without the msel[3] pin. to configure these devices with other supported configuration schemes, select msel[2..0] pins according to the msel settings in table 8?5 . jtag-based configuration (2) (3) (3) (3) (3) ?? notes to table 8?4 : (1) configuration voltage standard applied to the v ccio supply of the bank in which the configuration pins reside. (2) jtag-based configuration takes precedence over other configuration schemes, which means the msel pin settings are ignored. (3) do not leave the msel pins floating. connect them to v cca or gnd. these pins support the non-jtag configuration scheme used in production. altera recommends connecting the msel pins to gnd if your device is only using jtag configuration. table 8?5. configuration schemes for cyclone iv e devices configuration scheme msel3 msel2 msel1 msel0 por delay configuration voltage standard (v) (1) as 1 1 0 1 fast 3.3 0 1 0 0 fast 3.0, 2.5 0 0 1 0 standard 3.3 0 0 1 1 standard 3.0, 2.5 ap 0 1 0 1 fast 3.3 0 1 1 0 fast 1.8 0 1 1 1 standard 3.3 1 0 1 1 standard 3.0, 2.5 1 0 0 0 standard 1.8 ps 1 1 0 0 fast 3.3, 3.0, 2.5 0 0 0 0 standard 3.3, 3.0, 2.5 fpp 1 1 1 0 fast 3.3, 3.0, 2.5 1 1 1 1 fast 1.8, 1.5 jtag-based configuration (2) (3)(3) (3)(3) ?? notes to table 8?5 : (1) configuration voltage standard applied to the v ccio supply of the bank in which the configuration pins reside. (2) jtag-based configuration takes precedence over other configuration schemes, which means the msel pin settings are ignored. (3) do not leave the msel pins floating. connect them to v cca or gnd. these pins support the non-jtag configuration scheme used in production. altera recommends connecting the msel pins to gnd if your device is only using jtag configuration. table 8?4. configuration schemes for cyclone iv gx devices (ep4cgx30 [only for f484 package], ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150) (part 2 of 2) configuration scheme msel3 msel2 msel1 msel0 por delay configuration voltage standard (v) (1)
8?10 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 for cyclone iv e devices, the quartus ii software prohibits you from using the lvds i/o standard in i/o bank 1 when the configuration device i/o voltage is not 2.5 v. if you need to assign lvds i/o standard in i/o bank 1, navigate to assignments > device > settings > device and pin option > configuration to change the configuration device i/o voltage to 2.5 v or auto . as configuration (serial configuration devices) in the as configuration scheme, cyclone iv devices are configured with a serial configuration device. these configuration devices are low-cost devices with non-volatile memories that feature a simple four-pin interface and a small form factor. these features make serial configuration devices the ideal low-cost configuration solution. f for more information about serial configuration devices, refer to the serial configuration devices (epcs1, epcs4, epcs16, epcs64, and epcs128) datasheet in volume 2 of the configuration handbook . serial configuration devices provide a serial interface to access the configuration data. during device configuration, cyclone iv devices read the configuration data through the serial interface, decompress the data if necessary, and configure their sram cells. this scheme is referred to as the as configuration scheme because the device controls the configuration interface. single-device as configuration the four-pin interface of serial configuration devices consists of the following pins: serial clock input ( dclk ) serial data output ( data ) active-low chip select ( ncs ) as data input ( asdi ) this four-pin interface connects to cyclone iv device pins, as shown in figure 8?2 .
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?11 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 1 the 25- ? resistor at the near end of the serial configuration device for data[0] works to minimize the driver impedance mismatch with the board trace and reduce the overshoot seen at the cyclone iv device data[0] input pin. in the single-device as configuration, the maximum board loading and board trace length between the supported serial configuration device and the cyclone iv device must follow the recommendations in table 8?6 on page 8?17 . the dclk generated by the cyclone iv device controls the entire configuration cycle and provides timing for the serial interface. cyclone iv devices use an internal oscillator or an external clock source to generate the dclk . for cyclone iv e devices, you can use a 40-mhz internal oscillator to generate the dclk and for cyclone iv gx devices you can use a slow clock (20 mhz maximum) or a fast clock (40 mhz maximum) from the internal oscillator or an external clock from clkusr to generate the dclk . there are some variations in the internal oscillator frequency because of the process, voltage, and temperature (pvt) conditions in cyclone iv devices. the internal oscillator is designed to ensure that its maximum frequency is guaranteed to meet epcs device specifications. cyclone iv devices offer the option to select clkusr as the external clock source for dclk . you can change the clock source option in the quartus ii software in the configuration tab of the device and pin options dialog box. figure 8?2. single-device as configuration notes to figure 8?2 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) cyclone iv devices use the asdo -to- asdi path to control the configuration device. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) connect the series resistor at the near end of the serial configuration device. (6) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as the data[1] pin in ap and fpp modes. (7) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . nstatus nconfig conf_done nce data[0] dclk ncso (6) asdo (6) nceo msel[ ] data dclk ncs asdi v ccio (1) gnd 10 k v ccio (1) 10 k v ccio (1) 10 k n.c. (3 ) (4) clkusr (7) (2) 25 (5) se r ial configu r a t ion device cyclone iv device
8?12 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 epcs1 does not support cyclone iv devices because of its insufficient memory capacity. in configuration mode, the cyclone iv device enables the serial configuration device by driving the ncso output pin low, which connects to the ncs pin of the configuration device. the cyclone iv device uses the dclk and data[1] pins to send operation commands and read address signals to the serial configuration device. the configuration device provides data on its data pin, which connects to the data[0] input of the cyclone iv device. all as configuration pins ( data[0] , dclk , ncso , and data[1] ) have weak internal pull-up resistors that are always active. after configuration, these pins are set as input tri-stated and are driven high by the weak internal pull-up resistors. the timing parameters for as mode are not listed here because the t cf2cd , t cf2st0 , t cfg , t status , t cf2st1 , and t cd2um timing parameters are identical to the timing parameters for ps mode shown in table 8?10 on page 8?35 . multi-device as configuration you can configure multiple cyclone iv devices with a single serial configuration device. when the first device captures all its configuration data from the bitstream, it drives the nceo pin low, enabling the next device in the chain. if the last device in the chain is a cyclone iv device, you can leave the nceo pin of the last device unconnected or use it as a user i/o pin after configuration. the nconfig , nstatus , conf_done , dclk , and data[0] pins of each device in the chain are connected together ( figure 8?3 ).
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?13 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 the first cyclone iv device in the chain is the configuration master and it controls the configuration of the entire chain. other altera devices that support ps configuration can also be part of the chain as configuration slaves. 1 in the multi-device as configuration, the board trace length between the serial configuration device and the master device of the cyclone iv device must follow the recommendations in table 8?6 on page 8?17 . figure 8?3. multi-device as configuration notes to figure 8?3 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the pull-up resistor to the v ccio supply voltage of i/o bank in which the nce pin resides. (3) you can leave the nceo pin unconnected or use it as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. you must set the master device of the cyclone iv device in as mode and the slave devices in ps mode. to connect the msel pins for the master device in as mode and slave devices in ps mode, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) connect the series resistor at the near end of the serial configuration device. (6) connect the repeater buffers between the master and slave devices of the cyclone iv device for data[0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (7) the 50- ? series resistors are optional if the 3.3-v configuration voltage standard is applied. for optimal signal integrity, connect th ese 50- ? series resistors if the 2.5- or 3.0-v configuration voltage standard is applied. (8) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (9) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . nstatus nconfig conf_done nce data[0] dclk nceo data dclk ncs asdi n.c. (3 ) (4) se r ial configu r a t ion device cyclone iv slave device nstatus nconfig conf_done nce data[0] dclk ncso (8) asdo (8) nceo msel[ ] (4) msel[ ] v ccio (1) gnd v ccio (1) v ccio (2) (5) v ccio (1) b u ffe rs (6) 10 k 10 k 10 k 10 k 25 50 (5), (7) 50 (7) c yclo n e iv ma s te r device clkusr (9)
8?14 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation the nstatus and conf_done pins on all target devices are connected together with external pull-up resistors, as shown in figure 8?3 on page 8?13 . these pins are open-drain bidirectional pins on the devices. when the first device asserts nceo (after receiving all its configuration data), it releases its conf_done pin. however, the subsequent devices in the chain keep this shared conf_done line low until they receive their configuration data. when all target devices in the chain receive their configuration data and release conf_done , the pull-up resistor drives a high level on conf_done line and all devices simultaneously enter initialization mode. 1 although you can cascade cyclone iv devices, serial configuration devices cannot be cascaded or chained together. if the configuration bitstream size exceeds the capacity of a serial configuration device, you must select a larger configuration device, enable the compression feature, or both. when configuring multiple devices, the size of the bitstream is the sum of the individual device?s configuration bitstream. configuring multiple cyclone iv devices with the same design certain designs require that you configure multiple cyclone iv devices with the same design through a configuration bitstream, or a .sof . you can do this through the following methods: multiple .sof single .sof 1 for both methods, the serial configuration devices cannot be cascaded or chained together. multiple sram object files two copies of the .sof are stored in the serial configuration device. use the first copy to configure the master device of the cyclone iv device and the second copy to configure all remaining slave devices concurrently. all slave devices must have the same density and package. the setup is similar to figure 8?3 on page 8?13 . to configure four identical cyclone iv devices with the same .sof , you must set up the chain similar to the example shown in figure 8?4 . the first device is the master device and its msel pins must be set to select as configuration. the other three slave devices are set up for concurrent configuration and their msel pins must be set to select ps configuration. the nceo pin from the master device drives the nce input pins on all three slave devices, as well as the data and dclk pins that connect in parallel to all four devices. during the first configuration cycle, the master device reads its configuration data from the serial configuration device while holding nceo high. after completing its configuration cycle, the master device drives nce low and sends the second copy of the configuration data to all three slave devices, configuring them simultaneously. the advantage of the setup in figure 8?4 is that you can have a different .sof for the master device. however, all the slave devices must be configured with the same .sof . you can either compress or uncompress the .sof in this configuration method. 1 you can still use this method if the master and slave devices use the same .sof .
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?15 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?4. multi-device as configuration in which devices receive the same data with multiple .sof notes to figure 8?4 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. you must set the master device in as mode and th e slave devices in ps mode. to connect the msel pins for the master device in as mode and the slave devices in ps mode, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) connect the series resistor at the near end of the serial configuration device. (6) connect the repeater buffers between the master and slave devices for data[0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (7) the 50- ? series resistors are optional if the 3.3-v configuration voltage standard is applied. for optimal signal integrity, connect th ese 50- ? series resistors if the 2.5- or 3.0-v configuration voltage standard is applied. (8) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (9) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . nstatus nconfig conf_done nce data[0] dclk nceo n.c. (3) (4) cyclone iv slave device nstatus nconfig conf_done nce data[0] dclk nceo n.c. (3) (4) v ccio (1) v ccio (1) nstatus nconfig conf_done nce data[0] dclk nceo msel[ ] n.c. (3) (4) nstatus nconfig conf_done nce data[0] dclk ncso (8) asdo (8) nceo (4) msel[ ] msel[ ] msel[ ] data dclk ncs asdi se r ial configu r a t ion device gnd v ccio (1) v ccio (2) 10 k 10 k 10 k 10 k (5) 25 (5), 50 (7) b u ffe rs (6) (7) 50 cyclone iv slave device cyclone iv slave device cyclone iv mas t e r device clkusr (9)
8?16 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation single sram object file the second method configures both the master device and slave devices with the same .sof . the serial configuration device stores one copy of the .sof . you must set up one or more slave devices in the chain. all the slave devices must be set up in the same way ( figure 8?5 ). in this setup, all the cyclone iv devices in the chain are connected for concurrent configuration. this reduces the as configuration time because all the cyclone iv devices are configured in one configuration cycle. connect the nce input pins of all the cyclone iv devices to gnd. you can either leave the nceo output pins on all the cyclone iv devices unconnected or use the nceo output pins as normal user i/o pins. the data and dclk pins are connected in parallel to all the cyclone iv devices. figure 8?5. multi-device as configuration in which devices receive the same data with a single .sof notes to figure 8?5 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) the msel pin settings vary for different configuration voltage standards and por time. you must set the master device of the cyclone iv device in as mode and the slave devices in ps mode. to connect the msel pins for the master device in as mode and slave devices in ps mode, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) connect the series resistor at the near end of the serial configuration device. (5) connect the repeater buffers between the master and slave devices for data[0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (6) the 50- ? series resistors are optional if the 3.3-v configuration voltage standard is applied. for optimal signal integrity, connect the se 50- ? series resistors if the 2.5- or 3.0-v configuration voltage standard is applied. (7) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (8) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . nstatus nconfig conf_done nce data[0] dclk nceo n.c. (2) (3) nstatus nconfig conf_done nce data[0] dclk nceo n.c. (2) (3) nstatus nconfig conf_done nce data[0] dclk ncso (7) asdo (7) nceo msel[ ] (3) msel[ ] msel[ ] data dclk ncs asdi se r ial configu r a t ion device gnd gnd gnd n.c. (2) v ccio (1) v ccio (1) v ccio (1) b u ffe rs (5) 10 k 10 k 10 k (4) 25 (7) 50 (4),(6) 50 cyclone iv slave device 2 cyclone iv slave device 1 cyclone iv mas t e r device clkusr (9)
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?17 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 altera recommends putting a buffer before the data and dclk output from the master device to avoid signal strength and signal integrity issues. the buffer must not significantly change the data -to- dclk relationships or delay them with respect to other as signals ( asdi and ncs ). also, the buffer must only drive the slave devices to ensure that the timing between the master device and the serial configuration device is unaffected. this configuration method supports both compressed and uncompressed .sof . therefore, if the configuration bitstream size exceeds the capacity of a serial configuration device, you can enable the compression feature in the .sof or you can select a larger serial configuration device. guidelines for connecting a serial configuration device to cyclone iv devices for an as interface for single- and multi-device as configurations, the board trace length and loading between the supported serial configuration device and cyclone iv device must follow the recommendations listed in ta b l e 8? 6 . estimating as configuration time as configuration time is dominated by the time it takes to transfer data from the serial configuration device to the cyclone iv device. this serial interface is clocked by the cyclone iv device dclk output (generated from a 40-mhz internal oscillator for cyclone iv e devices, a 20- or 40-mhz internal oscillator, or an external clkusr of up to 40 mhz for cyclone iv gx devices). equation 8?2 and equation 8?3 show the configuration time calculations. enabling compression reduces the amount of configuration data that is sent to the cyclone iv device, which also reduces configuration time. on average, compression reduces configuration time by 50%. table 8?6. maximum trace length and loading for as configuration cyclone iv device as pins maximum board trace length from a cyclone iv device to a serial configuration device (inches) maximum board load (pf) cyclone iv e cyclone iv gx dclk 10 6 15 data[0] 10 6 30 ncso 10 6 30 asdo 10 6 30 equation 8?2. equation 8?3. rbf size maximum dclk period 1 bit ------------------------------------------------------ - ?? ?? ? estimated maximum configuration time = 9,600,000 bits 50 ns 1 bit ------------ - ?? ?? ? 480 ms =
8?18 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation programming serial configuration devices serial configuration devices are non-volatile, flash memory-based devices. you can program these devices in-system with the usb-blaster? or byteblaster? ii download cables. alternatively, you can program them with the altera programming unit (apu), supported third-party programmers, or a microprocessor with the srunner software driver. you can perform in-system programming of serial configuration devices through the as programming interface. during in-system programming, the download cable disables device access to the as interface by driving the nce pin high. cyclone iv devices are also held in reset by a low level on nconfig . after programming is complete, the download cable releases nce and nconfig , allowing the pull-down and pull-up resistors to drive v cc and gnd, respectively. to perform in-system programming of a serial configuration device through the as programming interface, you must place the diodes and capacitors as close as possible to the cyclone iv device. you must ensure that the diodes and capacitors maintain a maximum ac voltage of 4.1 v ( figure 8?6 ). 1 if you want to use the setup shown in figure 8?6 to perform in-system programming of a serial configuration device and single- or multi-device as configuration, you do not require a series resistor on the data line at the near end of the serial configuration device. the existing diodes and capacitors are sufficient. altera has developed the serial flashloader (sfl), a jtag-based in-system programming solution for altera serial configuration devices. the sfl is a bridge design for the cyclone iv device that uses its jtag interface to access the epcs jic (jtag indirect configuration device programming) file and then uses the as interface to program the epcs device. both the jtag interface and as interface are bridged together inside the sfl design. f for more information about implementing the sfl with cyclone iv devices, refer to an 370: using the serial flashloader with the quartus ii software . f for more information about the usb-blaster download cable, refer to the usb-blaster download cable user guide . for more information about the byteblaster ii download cable, refer to the byteblaster ii download cable user guide .
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?19 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?6 shows the download cable connections to the serial configuration device. figure 8?6. in-system programming of serial configuration devices notes to figure 8?6 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) power up the v cc of the byteblaster ii or usb-blaster download cable with the 3.3-v supply. (4) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) the diodes and capacitors must be placed as close as possible to the cyclone iv device. you must ensure that the diodes and capacitors maintain a maximum ac voltage of 4.1 v. the external diodes and capacitors are required to prevent damage to the cyclone iv device as co nfiguration input pins due to possible overshoot when programming the serial configuration device with a download cable. altera recommends using the schottky diode, which has a relatively lower forward diode voltage (vf) than the switching and zener diodes, for effective volt age clamping. (6) when cascading cyclone iv devices in a multi-device as configuration, connect the repeater buffers between the master and sl ave devices for data[0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (7) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (8) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk. nstatus nconfig conf_done nce data[0] (6) dclk (6) ncso (7) asdo (7) nceo msel[ ] (4) cyclone iv device data dclk ncs asdi se r ial configu r a t ion device gnd gnd n.c. (2) v ccio (1) v ccio (1) v ccio (1) 3.3 v (3) gnd pi n 1 bytebla s te r ii o r usb bla s te r 10-pi n male heade r 3.3 v 10 pf gnd gnd 10 pf (5) 10 pf gnd 10 pf gnd (5) 10 k 10 k 10 k 10 k 3.3 v 3.3 v 3.3 v clkusr (8)
8?20 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation you can use the quartus ii software with the apu and the appropriate configuration device programming adapter to program serial configuration devices. all serial configuration devices are offered in an 8- or 16-pin small outline integrated circuit (soic) package. in production environments, serial configuration devices are programmed using multiple methods. altera programming hardware or other third-party programming hardware is used to program blank serial configuration devices before they are mounted onto pcbs. alternatively, you can use an on-board microprocessor to program the serial configuration device in-system by porting the reference c-based srunner software driver provided by altera. a serial configuration device is programmed in-system by an external microprocessor with the srunner software driver. the srunner software driver is a software driver developed for embedded serial configuration device programming, which is easily customized to fit in different embedded systems. the srunner software driver is able to read a raw programming data ( .rpd ) file and write to serial configuration devices. the serial configuration device programming time, using the srunner software driver, is comparable to the programming time with the quartus ii software. f for more information about the srunner software driver, refer to an 418: srunner: an embedded solution for serial configuration device programming and the source code at the altera website. ap configuration (supported flash memories) the ap configuration scheme is only supported in cyclone iv e devices. in the ap configuration scheme, cyclone iv e devices are configured using commodity 16-bit parallel flash memory. these external non-volatile configuration devices are industry standard microprocessor flash memories. the flash memories provide a fast interface to access configuration data. the speed up in configuration time is mainly due to the 16-bit wide parallel data bus, which is used to retrieve data from the flash memory. some of the smaller cyclone iv e devices or package options do not support the ap configuration scheme. table 8?7 lists the supported ap configuration scheme for each cyclone iv e devices. table 8?7. supported ap configuration scheme for cyclone iv e devices device package options e144 m164 u256 f256 u484 f484 f780 ep4ce6 ??????? ep4ce10 ??????? ep4ce15 ????? v ? ep4ce22 ??????? ep4ce30 ????? vv ep4ce40 ? ? ? ? vvv ep4ce55 ? ? ? ? vvv ep4ce75 ? ? ? ? vvv ep4ce115 ? ? ? ? ? vv
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?21 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 during device configuration, cyclone iv e devices read configuration data using the parallel interface and configure their sram cells. this scheme is referred to as the ap configuration scheme because the device controls the configuration interface. this scheme contrasts with the fpp configuration scheme, where an external host controls the interface. ap configuration supported flash memories the ap configuration controller in cyclone iv e devices is designed to interface with two industry-standard flash families?the numonyx strataflash ? embedded memory p30 flash family and the numonyx strataflash embedded memory p33 flash family. unlike serial configuration devices, both of the flash families supported in ap configuration scheme are designed to interface with microprocessors. by configuring from an industry standard microprocessor flash which allows access to the flash after entering user mode, the ap configuration scheme allows you to combine configuration data and user data (microprocessor boot code) on the same flash memory. the numonyx p30 flash family and the p33 flash family support a continuous synchronous burst read mode at 40 mhz dclk frequency for reading data from the flash. additionally, the numonyx p30 and p33 flash families have identical pin-out and adopt similar protocols for data access. 1 cyclone iv e devices use a 40-mhz oscillator for the ap configuration scheme. the oscillator is the same oscillator used in the cyclone iv e as configuration scheme. ta b l e 8 ?8 lists the supported families of the commodity parallel flash for the ap configuration scheme. configuring cyclone iv e devices from the numonyx p30 and p33 family 512-mbit flash memory is possible, but you must properly drive the extra address and flash_nce pins as required by these flash memories. f to check for supported speed grades and package options, refer to the respective flash datasheets. the ap configuration scheme in cyclone iv e devices supports flash speed grades of 40 mhz and above. however, ap configuration for all these speed grades must be capped at 40 mhz. the advantage of faster speed grades is realized when your design in the cyclone iv e devices accesses flash memory in user mode. table 8?8. supported commodity flash for ap configuration scheme for cyclone iv e devices (note 1) flash memory density numonyx p30 flash family (2) numonyx p33 flash family (3) 64 mbit vv 128 mbit vv 256 mbit vv notes to table 8?8 : (1) the ap configuration scheme only supports flash memory speed grades of 40 mhz and above. (2) 3.3- , 3.0-, 2.5-, and 1.8-v i/o options are supported for the numonyx p30 flash family. (3) 3.3-, 3.0- and 2.5-v i/o options are supported for the numonyx p33 flash family.
8?22 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation f for more information about the operation of the numonyx strataflash embedded memory p30 and p33 flash memories, search for the keyword ?p30? or ?p33? on the numonyx website ( www.numonyx.com ) to obtain the p30 or p33 family datasheet. single-device ap configuration the following groups of interface pins are supported in numonyx p30 and p33 flash memories: control pins address pins data pins the following control signals are from the supported parallel flash memories: clk active-low reset ( rst# ) active-low chip enable ( ce#) active-low output enable ( oe# ) active-low address valid ( adv# ) active-low write enable ( we# ) the supported parallel flash memories output a control signal ( wait ) to cyclone iv e devices to indicate when synchronous data is ready on the data bus. cyclone iv e devices have a 24-bit address bus connecting to the address bus ( a[24:1] ) of the flash memory. a 16-bit bidirectional data bus ( data[15..0] ) provides data transfer between the cyclone iv e device and the flash memory. the following control signals are from the cyclone iv e device to flash memory: dclk active-low hard rest ( nreset ) active-low chip enable ( flash_nce) active-low output enable for the data[15..0] bus and wait pin ( noe) active-low address valid signal and is used to write data into the flash ( navd) active-low write enable and is used to write data into the flash ( nwe )
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?23 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?7 shows the interface for the numonyx p30 flash memory and p33 flash memory to the cyclone iv e device pins. 1 in a single-device ap configuration, the maximum board loading and board trace length between supported parallel flash and cyclone iv e devices must follow the recommendations listed in table 8?9 on page 8?27 . 1 if you use the ap configuration scheme for cyclone iv e devices, the v ccio of i/o banks 1, 6, 7, and 8 must be 3.3, 3.0, 2.5, or 1.8 v. altera does not recommend using the level shifter between the numonyx p30 or p33 flash and the cyclone iv e device in the ap configuration scheme. 1 there are no series resistors required in ap configuration mode for cyclone iv e devices when using the numonyx flash at 2.5-, 3.0-, and 3.3-v i/o standard. the output buffer of the numonyx p30 ibis model does not overshoot above 4.1 v. thus, series resistors are not required for the 2.5-, 3.0-, and 3.3-v ap configuration option. however, if there are any other devices sharing the same flash i/os with cyclone iv e devices, all shared pins are still subject to the 4.1-v limit and may require series resistors. figure 8?7. single-device ap configuration using numonyx p30 and p33 flash memory notes to figure 8?7 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect msel[3..0] , refer to table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) ap configuration ignores the wait signal during configuration mode. however, if you are accessing flash during user mode with user logic, you can optionally use normal i/o to monitor the wait signal from the numonyx p30 or p33 flash. clk rst# ce# oe# adv# w e# w ait dq[15:0] a[24:1] dclk nreset flash_nce noe navd n w e i/o (4) data[15..0] padd[23..0] nce v ccio (1) v ccio (1) 10k ? 10k ? nco n fig nstatus co n f_do n e msel[3..0] (3) nceo n .c. (2) cyclone iv e device numonyx p30/p33 flash g n d v ccio (1) 10k ?
8?24 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation default read mode of the supported parallel flash memory and all writes to the parallel flash memory are asynchronous. both the parallel flash families support a synchronous read mode, with data supplied on the positive edge of dclk . the serial clock ( dclk ) generated by cyclone iv e devices controls the entire configuration cycle and provides timing for the parallel interface. multi-device ap configuration you can configure multiple cyclone iv e devices using a single parallel flash. you can cascade multiple cyclone iv e devices using the chip-enable ( nce ) and chip-enable-out ( nceo ) pins. the first device in the chain must have its nce pin connected to gnd. you must connect its nceo pin to the nce pin of the next device in the chain. use an external 10-k ? pull-up resistor to pull the nceo signal high to its v ccio level to help the internal weak pull-up resistor. when the first device captures all its configuration data from the bitstream, it drives the nceo pin low, enabling the next device in the chain. you can leave the nceo pin of the last device unconnected or use it as a user i/o pin after configuration if the last device in the chain is a cyclone iv e device. the nconfig , nstatus , conf_done , dclk , data[15..8] , and data[7..0] pins of each device in the chain are connected ( figure 8?8 on page 8?25 and figure 8?9 on page 8?26 ). the first cyclone iv e device in the chain, as shown in figure 8?8 on page 8?25 and figure 8?9 on page 8?26 , is the configuration master device and controls the configuration of the entire chain. you must connect its msel pins to select the ap configuration scheme. the remaining cyclone iv e devices are used as configuration slaves. you must connect their msel pins to select the fpp configuration scheme. any other altera device that supports fpp configuration can also be part of the chain as a configuration slave. the following are the configurations for the data[15..0] bus in a multi-device ap configuration: byte-wide multi-device ap configuration word-wide multi-device ap configuration
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?25 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 byte-wide multi-device ap configuration the simpler method for multi-device ap configuration is the byte-wide multi-device ap configuration. in the byte-wide multi-device ap configuration, the lsb of the data[7..0] pin from the flash and master device (set to the ap configuration scheme) is connected to the slave devices set to the fpp configuration scheme, as shown in figure 8?8 . word-wide multi-device ap configuration the more efficient setup is one in which some of the slave devices are connected to the lsb of the data[7..0] and the remaining slave devices are connected to the msb of the data[15..8] . in the word-wide multi-device ap configuration, the nceo pin of the master device enables two separate daisy chains of slave devices, allowing both chains to be programmed concurrently, as shown in figure 8?9 . figure 8?8. byte-wide multi-device ap configuration notes to figure 8?8 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. you must set the master device in ap mode and th e slave devices in fpp mode. to connect msel[3..0] for the master device in ap mode and the slave devices in fpp mode, refer to table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) the ap configuration ignores the wait signal during configuration mode. however, if you are accessing flash during user mode with user logic, you can optionally use the normal i/o to monitor the wait signal from the numonyx p30 or p33 flash. (6) connect the repeater buffers between the cyclone iv e master device and slave devices for data[15..0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation ou tlined in ?configuration and jtag pin i/o requirements? on page 8?5 . clk rst# ce# oe# adv# w e# w ait dq[15:0] a[24:1] dclk nreset flash_nce noe navd n w e i/o (5) data[15..0] padd[23..0] nce v ccio (1) v ccio (1) nco n fig nstatus co n f_do n e msel[3..0] (4) nceo n .c. (3) cyclone iv e master device numonyx p30/p33 flash g n d data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device v ccio (2) v ccio (2) buffers (6) dq[7..0] dq[7..0] 10 k 10 k 10 k 10 k v ccio (1) 10 k
8?26 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 in a multi-device ap configuration, the board trace length between the parallel flash and the master device must follow the recommendations listed in table 8?9 . figure 8?9. word-wide multi-device ap configuration notes to figure 8?9 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. you must set the master device in ap mode and th e slave devices in fpp mode. to connect msel[3..0] for the master device in ap mode and the slave devices in fpp mode, refer to table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) the ap configuration ignores the wait signal during configuration mode. however, if you are accessing flash during user mode with user logic, you can optionally use the normal i/o pin to monitor the wait signal from the numonyx p30 or p33 flash. (6) connect the repeater buffers between the cyclone iv e master device and slave devices for data[15..0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation ou tlined in ?configuration and jtag pin i/o requirements? on page 8?5 . clk rst# ce# oe# adv# w e# w ait dq[15:0] a[24:1] dclk nreset flash_nce noe navd n w e i/o (5) data[15..0] padd[23..0] nce v ccio (1) v ccio (1) 10 k ? 10 k ? nco n fig nstatus co n f_do n e msel[3..0] (4) nceo n .c. (3) cyclone iv e master device numonyx p30/p33 flash g n d data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device v ccio (2) 10 k ? v ccio (2) 10 k ? buffers (6) dq[7..0] n .c. (3) data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device data[7..0] dclk nce nco n fig nstatus co n f_do n e msel[3..0] (4) nceo cyclone iv e slave device dq[7..0] v ccio (1) dq[15.. 8 ] dq[15.. 8 ] v ccio (1) 10 k ? 10 k ?
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?27 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 the nstatus and conf_done pins on all target devices are connected together with external pull-up resistors, as shown in figure 8?8 on page 8?25 and figure 8?9 on page 8?26 . these pins are open-drain bidirectional pins on the devices. when the first device asserts nceo (after receiving all its configuration data), it releases its conf_done pin. however, the subsequent devices in the chain keep this shared conf_done line low until they receive their configuration data. when all target devices in the chain receive their configuration data and release conf_done , the pull-up resistor drives a high level on this line and all devices simultaneously enter initialization mode. guidelines for connecting parallel flash to cyclone iv e devices for an ap interface for single- and multi-device ap configuration, the board trace length and loading between the supported parallel flash and cyclone iv e devices must follow the recommendations listed in table 8?9 . these recommendations also apply to an ap configuration with multiple bus masters. configuring with multiple bus masters similar to the as configuration scheme, the ap configuration scheme supports multiple bus masters for the parallel flash. for another master to take control of the ap configuration bus, the master must assert nconfig low for at least 500 ns to reset the master cyclone iv e device and override the weak 10-k ? pull-down resistor on the nce pin. this resets the master cyclone iv e device and causes it to tri-state its ap configuration bus. the other master device then takes control of the ap configuration bus. after the other master device is done, it releases the ap configuration bus, then releases the nce pin, and finally pulses nconfig low to restart the configuration. in the ap configuration scheme, multiple masters share the parallel flash. similar to the as configuration scheme, the bus control is negotiated by the nce pin. table 8?9. maximum trace length and loading for ap configuration cyclone iv e ap pins maximum board trace length from cyclone iv e device to flash device (inches) maximum board load (pf) dclk 615 data[15..0] 630 padd[23..0] 630 nreset 630 flash_nce 630 noe 630 navd 630 nwe 630 i/o (1) 630 note to table 8?9 : (1) the ap configuration ignores the wait signal from the flash during configuration mode. however, if you are accessing flash during user mode with user logic, you can optionally use the normal i/o to monitor the wait signal from the numonyx p30 or p33 flash.
8?28 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 8?10 shows the ap configuration with multiple bus masters. figure 8?10. ap configuration with multiple bus masters notes to figure 8?10 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect msel[3..0] , refer to table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) the ap configuration ignores the wait signal during configuration mode. however, if you are accessing flash during user mode with user logic, you can optionally use the normal i/o to monitor the wait signal from the numonyx p30 or p33 flash. (5) when cascading cyclone iv e devices in a multi-device ap configuration, connect the repeater buffers between the master devic e and slave devices for data[15..0] and dclk . all i/o inputs must maintain a maximum ac voltage of 4.1 v. the output resistance of the repeater buffers must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (6) the other master device must fit the maximum overshoot equation outlined in ?configuration and jtag pin i/o requirements? on page 8?5 . (7) the other master device can control the ap configuration bus by driving the nce to high with an output high on the i/o pin. (8) the other master device can pulse nconfig if it is under system control and not tied to v ccio . clk rst# ce# oe# adv# w e# w ait dq[15:0] a[24:1] i/o (7) nco n fig ( 8 ) clk rst# ce# oe# adv# w e# w ait dq[15:0] a[24:1] dclk (5) nreset flash_nce noe navd n w e i/o (4) data[15..0] (5) padd[23..0] nce v ccio (1) v ccio (1) 10 k ? 10 k ? nco n fig nstatus co n f_do n e msel[3..0] (3 ) nceo cyclone iv e master device numonyx p30/p33 flash g n d 10 k ? (2 ) other master device (6) v ccio (1) 10 k ?
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?29 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?11 shows the recommended balanced star routing for multiple bus master interfaces to minimize signal integrity issues. estimating ap configuration time ap configuration time is dominated by the time it takes to transfer data from the parallel flash to cyclone iv e devices. this parallel interface is clocked by the cyclone iv e dclk output (generated from an internal oscillator). the dclk minimum frequency when using the 40-mhz oscillator is 20 mhz (50 ns). in word-wide cascade programming, the data[15..0] bus transfers a 16-bit word and essentially cuts configuration time to approximately 1/16 of the as configuration time. equation 8?4 and equation 8?5 show the configuration time calculations. figure 8?11. balanced star routing notes to figure 8?11 : (1) altera recommends that m does not exceed 6 inches, as listed in table 8?9 on page 8?27 . (2) altera recommends using a balanced star routing. keep the n length equal and as short as possible to minimize reflection noise from the transmission line. the m length is applicable for this setup. equation 8?4. equation 8?5. external master device cyclone i v e master device numonyx flash dclk m (1) n (2) n (2) rbf size maximum dclk period 16 bits per dclk cycle ------------------------------------------------------ - ?? ?? ? estimated maximum configuration time = 9,600,000 bits 50 ns 16 bit ------------ - ?? ?? ? 30 ms =
8?30 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation programming parallel flash memories supported parallel flash memories are external non-volatile configuration devices. they are industry standard microprocessor flash memories. for more information about the supported families for the commodity parallel flash, refer to table 8?8 on page 8?21 . cyclone iv e devices in a single- or multiple-device chain support in-system programming of a parallel flash using the jtag interface with the flash loader megafunction. the board intelligent host or download cable uses the four jtag pins on cyclone iv e devices to program the parallel flash in system, even if the host or download cable cannot access the configuration pins of the parallel flash. f for more information about using the jtag pins on cyclone iv e devices to program the parallel flash in-system, refer to an 478: using fpga-based parallel flash loader (pfl) with the quartus ii software . in the ap configuration scheme, the default configuration boot address is 0010000 when represented in 16-bit word addressing in the supported parallel flash memory ( figure 8?12 ). in the quartus ii software, the default configuration boot address is 0020000 because it is represented in 8-bit byte addressing. cyclone iv e devices configure from word address 0010000, which is equivalent to byte address 0020000. 1 the quartus ii software uses byte addressing for the default configuration boot address. you must set the start address field to 0020000 . the default configuration boot address allows the system to use special parameter blocks in the flash memory map. parameter blocks are at the top or bottom of the memory map. figure 8?12 shows the configuration boot address in the ap configuration scheme. you can change the default configuration default boot address 0010000 to any desired address using the apfc_boot_addr jtag instruction. for more information about the apfc_boot_addr jtag instruction, refer to ?jtag instructions? on page 8?56 .
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?31 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 ps configuration you can perform ps configuration on cyclone iv devices with an external intelligent host, such as a max ? ii device, microprocessor with flash memory, or a download cable. in the ps scheme, an external host controls the configuration. configuration data is clocked into the target cyclone iv device through data[0] at each rising edge of dclk . if your system already contains a common flash interface (cfi) flash memory, you can use it for cyclone iv device configuration storage as well. the max ii pfl feature provides an efficient method to program cfi flash memory devices through the jtag interface and the logic to control the configuration from the flash memory device to the cyclone iv device. f for more information about the pfl, refer to an 386: using the parallel flash loader with the quartus ii software . 1 cyclone iv devices do not support enhanced configuration devices for ps configuration. figure 8?12. configuration boot address in ap flash memory map note to figure 8?12 : (1) the default configuration boot address is x010000 when represented in 16-bit word addressing. other data/code config u ration data 12 8 -k b it parameter area cyclone iv e defa u lt boot address x010000 (1) x00ffff x000000 other data/code config u ration data other data/code cyclone iv e defa u lt boot address x010000 (1) x00ffff x000000 12 8 -k b it parameter area bottom parameter flash memory top parameter flash memory 16- b it w ord b it[15] b it[0] 16- b it w ord b it[15] b it[0]
8?32 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation ps configuration using an external host in the ps configuration scheme, you can use an intelligent host such as a max ii device or microprocessor that controls the transfer of configuration data from a storage device, such as flash memory, to the target cyclone iv device. you can store the configuration data in .rbf , .hex , or .ttf format. figure 8?13 shows the configuration interface connections between a cyclone iv device and an external host device for single-device configuration. to begin the configuration, the external host device must generate a low-to-high transition on the nconfig pin. when nstatus is pulled high, the external host device must place the configuration data one bit at a time on data[0] . if you use configuration data in .rbf , .ttf , or .hex , you must first send the lsb of each data byte. for example, if the .rbf contains the byte sequence 02 1b ee 01 fa, the serial bitstream you must send to the device is: 0100-0000 1101-1000 0111-0111 1000-0000 0101-1111 cyclone iv devices receive configuration data on data[0] and the clock is received on dclk . data is latched into the device on the rising edge of dclk . data is continuously clocked into the target device until conf_done goes high and the device enters initialization state. 1 two dclk falling edges are required after conf_done goes high to begin the initialization of the device. init_done is released and pulled high when initialization is complete. the external host device must be able to detect this low-to-high transition which signals the device has entered user mode. when initialization is complete, the device enters user mode. in user mode, the user i/o pins no longer have weak pull-up resistors and function as assigned in your design. figure 8?13. single-device ps configuration using an external host notes to figure 8?13 : (1) connect the pull-up resistor to a supply that provides an acceptable input signal for the device. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii device or microprocessor) memory addr nstatus conf_done nce nceo data[0] gnd v ccio (1) v ccio (1) msel[ ] n.c. (2) data[0] (4) nconfig dclk (4) (3) cyclone i v device 10 k 10 k
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?33 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 to e n su re dclk and data[0] are not left floating at the end of configuration, the max ii device must drive them either high or low, whichever is convenient on your board. the data[0] pin is available as a user i/o pin after configuration. in the ps scheme, the data[0] pin is tri-stated by default in user mode and must be driven by the external host device. to change this default option in the quartus ii software, select the dual-purpose pins tab of the device and pin options dialog box. the configuration clock ( dclk ) speed must be below the specified system frequency to ensure correct configuration. no maximum dclk period exists, which means you can pause configuration by halting dclk for an indefinite amount of time. the external host device can also monitor conf_done and init_done to ensure successful configuration. the conf_done pin must be monitored by the external device to detect errors and to determine when programming is complete. if all configuration data is sent, but conf_done or init_done has not gone high, the external device must reconfigure the target device. figure 8?14 shows how to configure multiple devices using an external host device. this circuit is similar to the ps configuration circuit for a single device, except that cyclone iv devices are cascaded for multi-device configuration. figure 8?14. multi-device ps configuration using an external host notes to figure 8?14 : (1) the pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the chain. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii de v ice or microprocessor) memory addr cyclone iv de v ice 1 nstatus co n f_do n e 10 k ? nce nceo data[0] g n d v ccio (1) v ccio (1) 10 k ? msel[ ] data[0] (5) nco n fig dclk (5) nstatus co n f_do n e nce nceo n .c. (3 ) data[0] (5) nco n fig dclk (5) v ccio (2) 10 k ? cyclone iv de v ice 2 (4) msel[ ] (4) buffers (5)
8?34 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation after the first device completes configuration in a multi-device configuration chain, its nceo pin drives low to activate the nce pin of the second device, which prompts the second device to begin configuration. the second device in the chain begins configuration in one clock cycle. therefore, the transfer of data destinations is transparent to the external host device. nconfig , nstatus , dclk , data[0] , and conf_done configuration pins are connected to every device in the chain. to ensure signal integrity and prevent clock skew problems, configuration signals may require buffering. ensure that dclk and data lines are buffered. all devices initialize and enter user mode at the same time because all conf_done pins are tied together. if any device detects an error, configuration stops for the entire chain and you must reconfigure the entire chain because all nstatus and conf_done pins are tied together. for example, if the first device flags an error on nstatus , it resets the chain by pulling its nstatus pin low. this behavior is similar to a single device detecting an error. you can have multiple devices that contain the same configuration data in your system. to support this configuration scheme, all device nce inputs are tied to gnd, while the nceo pins are left floating. nconfig , nstatus , dclk , data[0] , and conf_done configuration pins are connected to every device in the chain. to ensure signal integrity and prevent clock skew problems, configuration signals may require buffering. ensure that the dclk and data lines are buffered. devices must be of the same density and package. all devices start and complete configuration at the same time. figure 8?15 shows a multi-device ps configuration when both cyclone iv devices are receiving the same configuration data. figure 8?15. multi-device ps configuration when both devices receive the same data notes to figure 8?15 : (1) you must connect the pull-up resistor to a supply that provides an acceptable input signal for all devices in the chain. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) the nceo pins of both devices are left unconnected or used as user i/o pins when configuring the same configuration data into multiple devices. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii de v ice or microprocessor) memory addr cyclone iv master de v ice nstatus co n f_do n e nce nceo data[0] g n d msel[ ] data[0] (4) nco n fig dclk (4) nstatus co n f_do n e nce nceo n .c. (2) data[0] (4) nco n fig dclk (4) cyclone iv sla v e de v ice n .c. (2) g n d (3) msel[ ] (3) buffers (4) 10 k ? v ccio (1) v ccio (1) 10 k ?
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?35 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 ps configuration timing a ps configuration must meet the setup and hold timing parameters and the maximum clock frequency. when using a microprocessor or another intelligent host to control the ps interface, ensure that you meet these timing requirements. figure 8?16 shows the timing waveform for ps configuration when using an external host device. ta b l e 8 ?1 0 lists the ps configuration timing parameters for cyclone iv devices. figure 8?16. ps configuration timing waveform (note 1) notes to figure 8?16 : (1) the beginning of this waveform shows the device in user mode. in user mode, nconfig , nstatus , and conf_done are at logic-high levels. when nconfig is pulled low, a reconfiguration cycle begins. (2) after power up, the cyclone iv device holds nstatus low during por delay. (3) after power up, before and during configuration, conf_done is low. (4) in user mode, drive dclk either high or low when using the ps configuration scheme, whichever is more convenient. when using the as configuration scheme, dclk is a cyclone iv device output pin and must not be driven externally. (5) do not leave the data[0] pin floating after configuration. drive the data[0] pin high or low, whichever is more convenient. nconfig nstatus (2) conf_done (3) dclk (4) data[0] user i/o init_done bit 0 bit 1 bit 2 bit 3 bit n t cd2um t cf2st1 t cf2cd t cfg t ch t cl t dh t dsu t cf2ck t status t clk t cf2st0 t st2ck user mode (5) tri-stated with internal pull-up resistor table 8?10. ps configuration timing parameters for cyclone iv devices (part 1 of 2) (note 1) symbol parameter minimum maximum unit cyclone iv (2) cyclone iv e (3) cyclone iv (2) cyclone iv e (3) t cf2cd nconfig low to conf_done low ? 500 ns t cf2st0 nconfig low to nstatus low ? 500 ns t cfg nconfig low pulse width 500 ? ns t status nstatus low pulse width 45 230 (4) s
8?36 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation ps configuration using a download cable in this section, the generic term ?download cable? includes the altera usb-blaster usb port download cable, masterblaster? serial and usb communications cable, byteblaster ii parallel port download cable, the byteblastermv ? parallel port download cable, and the ethernetblaster communications cable. in the ps configuration with a download cable, an intelligent host (such as a pc) transfers data from a storage device to the cyclone iv device through the download cable. t cf2st1 nconfig high to nstatus high ? 230 (5) s t cf2ck nconfig high to first rising edge on dclk 230 (4) ?s t st2ck nstatus high to first rising edge of dclk 2?s t dh data hold time after rising edge on dclk 0?ns t cd2um conf_done high to user mode (6) 300 650 s t cd2cu conf_done high to clkusr enabled 4 maximum dclk period ? ? t cd2umc conf_done high to user mode with clkusr option on t cd2cu + (3,192 clkusr period) ?? t dsu data setup time before rising edge on dclk 58??ns t ch dclk high time 3.2 6.4 ? ? ns t cl dclk low time 3.2 6.4 ? ? ns t clk dclk period 7.5 15 ? ? ns f max dclk frequency (7) ??13366mhz notes to table 8?10 : (1) this information is preliminary. (2) applicable for cyclone iv gx and cyclone iv e devices with 1.2-v core voltage. (3) applicable for cyclone iv e devices with 1.0-v core voltage. (4) this value is applicable if you do not delay configuration by extending the nconfig or nstatus low pulse width. (5) this value is applicable if you do not delay configuration by externally holding the nstatus low. (6) the minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for starting the device . (7) cyclone iv e devices with 1.0-v core voltage have slower f max when compared with cyclone iv gx devices with 1.2-v core voltage. table 8?10. ps configuration timing parameters for cyclone iv devices (part 2 of 2) (note 1) symbol parameter minimum maximum unit cyclone iv (2) cyclone iv e (3) cyclone iv (2) cyclone iv e (3)
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?37 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 the programming hardware or download cable then places the configuration data one bit at a time on the data[0] pin of the device. the configuration data is clocked into the target device until conf_done goes high. the conf_done pin must have an external 10-k ? pull-up resistor for the device to initialize. when you use a download cable, setting the auto-restart configuration after error option does not affect the configuration cycle because you must manually restart configuration in the quartus ii software if an error occurs. additionally, the enable user-supplied start-up clock (clkusr) option has no effect on device initialization, because this option is disabled in the .sof when programming the device with the quartus ii programmer and download cable. therefore, if you turn on the clkusr option, you do not have to provide a clock on clkusr when you configure the device with the quartus ii programmer and a download cable. figure 8?17 shows ps configuration for cyclone iv devices with a download cable. figure 8?17. ps configuration using a download cable notes to figure 8?17 : (1) you must connect the pull-up resistor to the same supply voltage as the v cca supply. (2) the pull-up resistors on data[0] and dclk are only required if the download cable is the only configuration scheme used on your board. this is to ensure that data[0] and dclk are not left floating after configuration. for example, if you also use a configuration device, the pull-up resistors on data[0] and dclk are not required. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver. v io must match the v cca of the device. for this value, refer to the masterblaster s erial/u s b communications cable user guide . with the usb-blaster, byteblaster ii, byteblaster mv, and ethernetblaster, this pin is a no connect. (4) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (5) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 for ps configuration schemes. connect the msel pins directly to v cca or gnd. (6) power up the v cc of the byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5-v supply from v cca . third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . msel[ ] (5) nconfig conf_done v cca (1) v cca (6) shield gnd v cca (1) gnd v cca (1) 10 k 10 k v cca (1) 10 k 10 k nstatus pin 1 dow n load cable 10-pi n male heade r (top view) gnd v io (3) cyclone i v device nceo dclk data[0] nce v cca (1) n.c. (4) (2) (2) 10 k
8?38 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation you can use a download cable to configure multiple cyclone iv device configuration pins. nconfig , nstatus , dclk , data[0] , and conf_done are connected to every device in the chain. all devices in the chain utilize and enter user mode at the same time because all conf_done pins are tied together. in addition, the entire chain halts configuration if any device detects an error because the nstatus pins are tied together. figure 8?18 shows the ps configuration for multiple cyclone iv devices using a masterblaster, usb-blaster, byteblaster ii, or byteblastermv cable. figure 8?18. multi-device ps configuration using a download cable notes to figure 8?18 : (1) you must connect the pull-up resistor to the same supply voltage as the v cca supply. (2) the pull-up resistors on data[0] and dclk are only required if the download cable is the only configuration scheme used on your board. this ensures that data[0 ] and dclk are not left floating after configuration. for example, if you also use a configuration device, the pull-up resistors on data[0] and dclk are not required. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver. v io must match the v cca of the device. for this value, refer to the masterblaster s erial/u s b communications cable user guide . when using the byteblastermv download cable, this pin is a no connect. when using usb-blaster, byteblaster ii, and ethernetblaster cables, this pin is connected to nce when it is used for as programming. otherwise, it is a no connect. (4) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (5) the nceo pin of the last device in the chain is left unconnected or used as a user i/o pin. (6) the msel pin settings vary for different configuration voltage standards and por time. to connect msel for ps configuration schemes, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (7) power up the v cc of the byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5 v supply from v cca . third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . cyclone i v device 1 cyclone i v device 2 msel[ ] (6) nce nconfig conf_done dclk nce nceo nconfig conf_done dclk nceo gnd (pa ss ive se r ial mode) v cca (7) v cca (1) gnd v cca (1) v cca (1) nstatus nstatus data[0] data[0] msel[ ] (6) pi n 1 dow n load cable 10-pi n male heade r n.c. (5) v io (3 ) gnd v cca (1) (2) v cca (1) (2) v ccio (4) 10 k 10 k 10 k 10 k 10 k 10 k
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?39 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 fpp configuration the fpp configuration in cyclone iv devices is designed to meet the increasing demand for faster configuration time. cyclone iv devices are designed with the capability of receiving byte-wide configuration data per clock cycle. you can perform fpp configuration of cyclone iv devices with an intelligent host, such as a max ii device or microprocessor with flash memory. if your system already contains a cfi flash memory, you can use it for the cyclone iv device configuration storage as well. the max ii pfl feature in max ii devices provides an efficient method to program cfi flash memory devices through the jtag interface and the logic to control configuration from the flash memory device to the cyclone iv device. f for more information about the pfl, refer to an 386: using the parallel flash loader with the quartus ii software . 1 fpp configuration is supported in ep4cgx30 (only for f484 package), ep4cgx50, ep4cgx75, ep4cgx110, ep4cgx150, and all cyclone iv e devices. 1 the fpp configuration is not supported in e144 package of cyclone iv e devices. 1 cyclone iv devices do not support enhanced configuration devices for fpp configuration. fpp configuration using an external host fpp configuration using an external host provides a fast method to configure cyclone iv devices. in the fpp configuration scheme, you can use an external host device to control the transfer of configuration data from a storage device, such as flash memory, to the target cyclone iv device. you can store configuration data in an .rbf , .hex , or .ttf format. when using the external host, a design that controls the configuration process, such as fetching the data from flash memory and sending it to the device, must be stored in the external host device. figure 8?19 shows the configuration interface connections between the cyclone iv devices and an external device for single-device configuration.
8?40 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation after nstatus is released, the device is ready to receive configuration data and the configuration stage begins. when nstatus is pulled high, the external host device places the configuration data one byte at a time on the data[7..0] pins. cyclone iv devices receive configuration data on the data[7..0] pins and the clock is received on the dclk pin. data is latched into the device on the rising edge of dclk . data is continuously clocked into the target device until conf_done goes high. the conf_done pin goes high one byte early in fpp configuration mode. the last byte is required for serial configuration (as and ps) modes. 1 two dclk falling edges are required after conf_done goes high to begin initialization of the device. supplying a clock on clkusr does not affect the configuration process. after the conf_done pin goes high, clkusr is enabled after the time specified as t cd2cu . after this time period elapses, cyclone iv devices require 3,192 clock cycles to initialize properly and enter user mode. for more information about the supported clkusr f max value for cyclone iv devices, refer to table 8?11 on page 8?43 . the init_done pin is released and pulled high when initialization is complete. the external host device must be able to detect this low-to-high transition, which signals the device has entered user mode. when initialization is complete, the device enters user mode. in user mode, the user i/o pins no longer have weak pull-up resistors and function as assigned in your design. to e n s u re t h a t dclk and data[0] are not left floating at the end of the configuration, the max ii device must drive them either high or low, whichever is convenient on your board. the data[0] pin is available as a user i/o pin after configuration. when you choose the fpp scheme in the quartus ii software, the data[0] pin is tri-stated by default in user mode and must be driven by the external host device. to change this default option in the quartus ii software, select the dual-purpose pins tab of the device and pin options dialog box. figure 8?19. single-device fpp configuration using an external host notes to figure 8?19 : (1) connect the pull-up resistor to a supply that provides an acceptable input signal for the device. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?4 on page 8?8 and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[7..0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii de v ice or microprocessor) memory addr cyclone iv de v ice nstatus co n f_do n e 10 k ? nce nceo data[7..0] g n d v ccio (1) v ccio (1) 10 k ? msel[3..0] n .c. (2) data[7..0] (4) nco n fig dclk (4) (3)
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?41 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 the dclk speed must be below the specified system frequency to ensure correct configuration. no maximum dclk period exists, which means you can pause configuration by halting dclk for an indefinite amount of time. the external host device can also monitor the conf_done and init_done pins to ensure successful configuration. the conf_done pin must be monitored by the external device to detect errors and to determine when programming is complete. if all configuration data is sent, but conf_done or init_done has not gone high, the external device must reconfigure the target device. figure 8?20 shows how to configure multiple devices with a max ii device. this circuit is similar to the fpp configuration circuit for a single device, except the cyclone iv devices are cascaded for multi-device configuration. after the first device completes configuration in a multi-device configuration chain, its nceo pin drives low to activate the nce pin of the second device, which prompts the second device to begin configuration. the second device in the chain begins configuration in one clock cycle; therefore, the transfer of data destinations is transparent to the max ii device. all other configuration pins ( nconfig , nstatus , dclk , data[7..0] , and conf_done ) are connected to every device in the chain. configuration signals may require buffering to ensure signal integrity and prevent clock skew problems. ensure that the dclk and data lines are buffered. all devices initialize and enter user mode at the same time, because all device conf_done pins are tied together. all nstatus and conf_done pins are tied together and if any device detects an error, configuration stops for the entire chain and the entire chain must be reconfigured. for example, if the first device flags an error on nstatus , it resets the chain by pulling its nstatus pin low. this behavior is similar to a single device detecting an error. figure 8?20. multi-device fpp configuration using an external host notes to figure 8?20 : (1) the pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the chain. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) connect the pull-up resistor to the v ccio supply voltage of the i/o bank in which the nce pin resides. (3) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (4) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?4 on page 8?8 and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[7..0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii de v ice or microprocessor) memory addr cyclone iv de v ice 1 nstatus co n f_do n e 10 k ? nce nceo data[7..0] g n d v ccio (1) v ccio (1) 10 k ? msel[3..0] data[7..0] (5) nco n fig dclk (5) nstatus co n f_do n e nce nceo n .c. (3 ) data[7..0] (5) nco n fig dclk (5) v ccio (2) 10 k ? cyclone iv de v ice 2 (4) (4) buffers (5) msel[3..0]
8?42 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 8?21 shows multi-device fpp configuration when both cyclone iv devices are receiving the same configuration data. configuration pins ( nconfig , nstatus , dclk , data[7..0] , and conf_done ) are connected to every device in the chain. configuration signals may require buffering to ensure signal integrity and prevent clock skew problems. ensure that the dclk and data lines are buffered. devices must be of the same density and package. all devices start and complete configuration at the same time. you can use a single configuration chain to configure cyclone iv devices with other altera devices that support fpp configuration. to ensure that all devices in the chain complete configuration at the same time or that an error flagged by one device starts reconfiguration in all devices, tie all the conf_done and nstatus pins together. f for more information about configuring multiple altera devices in the same configuration chain, refer to configuring mixed altera fpga chains in volume 2 of the configuration handbook . figure 8?21. multi-device fpp configuration using an external host when both devices receive the same data notes to figure 8?21 : (1) you must connect the pull-up resistor to a supply that provides an acceptable input signal for all devices in the chain. v cc must be high enough to meet the v ih specification of the i/o on the device and the external host. (2) the nceo pins of both devices are left unconnected or used as user i/o pins when configuring the same configuration data into multiple devices. (3) the msel pin settings vary for different configuration voltage standards and por time. to connect the msel pins, refer to table 8?4 on page 8?8 and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (4) all i/o inputs must maintain a maximum ac voltage of 4.1 v. data[7..0] and dclk must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . external host (max ii de v ice or microprocessor) memory addr cyclone iv de v ice 1 nstatus co n f_do n e nce nceo data[7..0] g n d v ccio (1) v ccio (1) msel[3..0] msel[3..0] data[7..0] (4) nco n fig dclk (4) nstatus co n f_do n e nce nceo n .c. (2) data[7..0] (4) nco n fig dclk (4) cyclone iv de v ice 2 (3) (3) g n d n .c. (2) buffers (4) 10 k ? 10 k ?
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?43 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 fpp configuration timing figure 8?22 shows the timing waveform for the fpp configuration when using an external host. ta b l e 8 ?11 lists the fpp configuration timing parameters for cyclone iv devices. figure 8?22. fpp configuration timing waveform (note 1) notes to figure 8?22 : (1) the beginning of this waveform shows the device in user mode. in user mode, nconfig , nstatus , and conf_done are at logic-high levels. when nconfig is pulled low, a reconfiguration cycle begins. (2) after power up, the cyclone iv device holds nstatus low during por delay. (3) after power up, before and during configuration, conf_done is low. (4) do not leave dclk floating after configuration. it must be driven high or low, whichever is more convenient. (5) data[7..0] is available as a user i/o pin after configuration; the state of the pin depends on the dual-purpose pin settings. nconfig nstatus (2) conf_done (3) dclk data[7..0] user i/o init_done byte 0 byte 1 byte 2 byte 3 byte n-1 t cd2um t cf2st1 t cf2cd t cfg t ch t cl t dh t dsu t cf2ck t status t clk t cf2st0 t st2ck user mode (5) tri-stated with internal pull-up resistor (4) user mode byte n table 8?11. fpp timing parameters for cyclone iv devices (part 1 of 2) (note 1) symbol parameter minimum maximum unit cyclone iv (2) cyclone iv e (3) cyclone iv (2) cyclone iv e (3) t cf2cd nconfig low to conf_done low ? 500 ns t cf2st0 nconfig low to nstatus low ? 500 ns t cfg nconfig low pulse width 500 ? ns t status nstatus low pulse width 45 230 (4) s t cf2st1 nconfig high to nstatus high ? 230 (5) s t cf2ck nconfig high to first rising edge on dclk 230 (4) ?s
8?44 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation jtag configuration jtag has developed a specification for boundary-scan testing (bst). the bst architecture offers the capability to efficiently test components on pcbs with tight lead spacing. the bst architecture can test pin connections without using physical test probes and capture functional data while a device is normally operating. you can also use the jtag circuitry to shift configuration data into the device. the quartus ii software automatically generates .sof for jtag configuration with a download cable in the quartus ii software programmer. t st2ck nstatus high to first rising edge of dclk 2?s t dh data hold time after rising edge on dclk 0?ns t cd2um conf_done high to user mode (6) 300 650 s t cd2cu conf_done high to clkusr enabled 4 maximum dclk period ? ? t cd2umc conf_done high to user mode with clkusr option on t cd2cu + (3,192 clkusr period) ?? t dsu data setup time before rising edge on dclk 58??ns t ch dclk high time 3.2 6.4 ? ? ns t cl dclk low time 3.2 6.4 ? ? ns t clk dclk period 7.5 15 ? ? ns f max dclk frequency (7) ? ? 133 66 mhz notes to table 8?11 : (1) this information is preliminary. (2) applicable for cyclone iv gx and cyclone iv e with 1.2-v core voltage. (3) applicable for cyclone iv e with 1.0-v core voltage. (4) this value is applicable if you do not delay configuration by extending the nconfig or nstatus low pulse width. (5) this value is applicable if you do not delay configuration by externally holding the nstatus low. (6) the minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for starting the device . (7) cyclone iv e devices with 1.0-v core voltage have slower f max when compared with cyclone iv gx devices with 1.2-v core voltage. table 8?11. fpp timing parameters for cyclone iv devices (part 2 of 2) (note 1) symbol parameter minimum maximum unit cyclone iv (2) cyclone iv e (3) cyclone iv (2) cyclone iv e (3)
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?45 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 f for more information about the jtag boundary-scan testing, refer to the jtag boundary-scan testing for cyclone iv devices chapter. jtag instructions have precedence over any other configuration modes. therefore, jtag configuration can take place without waiting for other configuration modes to complete. for example, if you attempt jtag configuration in cyclone iv devices during ps configuration, ps configuration terminates and jtag configuration begins. if the msel pins are set to as mode, the cyclone iv device does not output a dclk signal when jtag configuration takes place. the four required pins for a device operating in jtag mode are tdi , tdo , tms , and tck . all the jtag input pins are powered by the v ccio pin and support the lvttl i/o standard only. all user i/o pins are tri-stated during jtag configuration. ta b l e 8 ?1 2 explains the function of each jtag pin. you can download data to the device through the usb-blaster, masterblaster, byteblaster ii, or byteblastermv download cable, or the ethernetblaster communications cable during jtag configuration. configuring devices with a cable is similar to programming devices in-system. figure 8?23 and figure 8?24 show the jtag configuration of a single cyclone iv device. for device using v ccio of 2.5, 3.0, and 3.3 v, refer to figure 8?23 . all i/o inputs must maintain a maximum ac voltage of 4.1 v because jtag pins do not have the internal pci clamping diodes to prevent voltage overshoot when using v ccio of 2.5, 3.0, and 3.3 v. you must power up the v cc of the download cable with a 2.5-v supply from v cca . for device using v ccio of 1.2, 1.5, and 1.8 v, refer to figure 8?24 . you can power up the v cc of the download cable with the supply from v ccio . table 8?12. dedicated jtag pins pin name pin type description tdi test data input serial input pin for instructions as well as test and programming data. data shifts in on the rising edge of tck . if the jtag interface is not required on the board, the jtag circuitry is disabled by connecting this pin to v cc . tdi pin has weak internal pull-up resistors (typically 25 k ? ). tdo test data output serial data output pin for instructions as well as test and programming data. data shifts out on the falling edge of tck . the pin is tri-stated if data is not being shifted out of the device. if the jtag interface is not required on the board, the jtag circuitry is disabled by leaving this pin unconnected. tms test mode select input pin that provides the control signal to determine the transitions of the tap controller state machine. transitions in the state machine occur on the rising edge of tck . therefore, tms must be set up before the rising edge of tck . tms is evaluated on the rising edge of tck . if the jtag interface is not required on the board, the jtag circuitry is disabled by connecting this pin to v cc . tms pin has weak internal pull-up resistors (typically 25 k ? ). tck test clock input the clock input to the bst circuitry. some operations occur at the rising edge, while others occur at the falling edge. if the jtag interface is not required on the board, the jtag circuitry is disabled by connecting this pin to gnd. the tck pin has an internal weak pull-down resistor.
8?46 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation figure 8?23. jtag configuration of a single device using a download cable (2.5, 3.0, and 3.3-v v ccio powering the jtag pins) notes to figure 8?23 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the nconfig and msel pins to support a non-jtag configuration scheme. if you only use jtag configuration, connect the nconfig pin to logic-high and the msel pins to gnd. in addition, pull dclk and data[0] to either high or low, whichever is convenient on your board. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver. v io must match the device?s v cca . for this value, refer to the masterblaster s erial/u s b communications cable user guide . when using the usb-blaster, byteblaster ii, byteblastermv, and ethernetblaster cables, this pin is a no connect. (4) the nce pin must be connected to gnd or driven low for successful jtag configuration. (5) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (6) power up the v cc of the ethernetblaster, byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5-v supply from v cca . third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . (7) resistor value can vary from 1 k ? to 10 k ? .. nce (4) msel[ ] nconfig conf_done v cca v cca (6) gnd v ccio (1) gnd v ccio (1) (2) v cca 10 k 10 k (7) nstatus pi n 1 dow n load cable 10-pi n male heade r (top view) gnd tck tdo tms tdi gnd v io (3) cyclone i v device nceo n.c. (5) dclk data[0] (2) (2) (2) (7) 1 k
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?47 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 to configure a single device in a jtag chain, the programming software places all other devices in bypass mode. in bypass mode, devices pass programming data from the tdi pin to the tdo pin through a single bypass register without being affected internally. this scheme enables the programming software to program or verify the target device. configuration data driven into the device appears on the tdo pin one clock cycle later. the quartus ii software verifies successful jtag configuration after completion. at the end of configuration, the software checks the state of conf_done through the jtag port. when quartus ii generates a .jam for a multi-device chain, it contains instructions so that all the devices in the chain are initialized at the same time. if conf_done is not high, the quartus ii software indicates that configuration has failed. if conf_done is high, the software indicates that configuration was successful. after the configuration bitstream is serially sent using the jtag tdi port, the tck port clocks an additional clock cycles to perform device initialization. figure 8?24. jtag configuration of a single device using a download cable (1.5-v or 1.8-v v ccio powering the jtag pins) notes to figure 8?24 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the nconfig and msel pins to support a non-jtag configuration scheme. if you only use jtag configuration, connect the nconfig pin to logic-high and the msel pins to gnd. in addition, pull dclk and data[0] to either high or low, whichever is convenient on your board. (3) in the usb-blaster and byteblaster ii cables, this pin is connected to nce when it is used for as programming; otherwise it is a no connect. (4) the nce must be connected to gnd or driven low for successful jtag configuration. (5) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (6) power up the v cc of the ethernetblaster, byteblaster ii or usb-blaster cable with supply from v ccio . the ethernet-blaster, byteblaster ii, and usb-blaster cables do not support a target supply voltage of 1.2 v. for the target supply voltage value, refer to the byteblaster ii download cable user guide , the u s b-blaster download cable user guide , and the ethernetblaster communications cable user guide . (7) resistor value can vary from 1 k ? to 10 k ? .. nce (4) msel[ ] nconfig conf_done v ccio v ccio (6) gnd v ccio (1) gnd v ccio (1) (2) v ccio 10 k 10 k (7) (7) nstatus pi n 1 dow n load cable 10-pi n male heade r (top view) gnd tck tdo tms tdi gnd v io (3) cyclone i v device nceo n.c. (5) dclk data[0] (2) (2) (2) 1 k
8?48 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation you can perform jtag testing on cyclone iv devices before, during, and after configuration. cyclone iv devices support the bypass , idcode , and sample instructions during configuration without interrupting configuration. all other jtag instructions can only be issued by first interrupting configuration and reprogramming i/o pins with the active_disengage and config_io instructions. the config_io instruction allows you to configure the i/o buffers through the jtag port and interrupts configuration when issued after the active_disengage instruction. this instruction allows you to perform board-level testing prior to configuring the cyclone iv device or waiting for a configuration device to complete configuration. prior to issuing the config_io instruction, you must issue the active_disengage instruction. this is because in cyclone iv devices, the config_io instruction does not hold nstatus low until reconfiguration, so you must disengage the active configuration mode controller when active configuration is interrupted. the active_disengage instruction places the active configuration mode controllers in an idle state prior to jtag programming. additionally, the active_engage instruction allows you to re-engage a disengaged active configuration mode controller. 1 you must follow a specific flow when executing the active_disengage , config_io , and active_engage jtag instructions in cyclone iv devices. the chip-wide reset ( dev_clrn ) and chip-wide output enable ( dev_oe ) pins in cyclone iv devices do not affect jtag boundary-scan or programming operations. toggling these pins do not affect jtag operations (other than the usual boundary-scan operation). when designing a board for jtag configuration of cyclone iv devices, consider the dedicated configuration pins. table 8?13 describes how you must connect these pins during jtag configuration. table 8?13. dedicated configuration pin connections during jtag configuration signal description nce on all cyclone iv devices in the chain, nce must be driven low by connecting it to gnd, pulling it low through a resistor, or driving it by some control circuitry. for devices that are also in multi-device as, ap, ps, or fpp configuration chains, you must connect the nce pins to gnd during jtag configuration or jtag configured in the same order as the configuration chain. nceo on all cyclone iv devices in the chain, nceo is left floating or connected to the nce of the next device. msel these pins must not be left floating. these pins support whichever non-jtag configuration that you used in production. if you only use jtag configuration, tie these pins to gnd. nconfig driven high by connecting to the v ccio supply of the bank in which the pin resides and pulling up through a resistor or driven high by some control circuitry. nstatus pull to the v ccio supply of the bank in which the pin resides through a 10-k ? resistor. when configuring multiple devices in the same jtag chain, each nstatus pin must be pulled up to the v ccio individually. conf_done pull to the v ccio supply of the bank in which the pin resides through a 10-k ? resistor. when configuring multiple devices in the same jtag chain, each conf_done pin must be pulled up to v ccio supply of the bank in which the pin resides individually. conf_done going high at the end of jtag configuration indicates successful configuration. dclk must not be left floating. drive low or high, whichever is more convenient on your board.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?49 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 when programming a jtag device chain, one jtag-compatible header is connected to several devices. the number of devices in the jtag chain is limited only by the drive capability of the download cable. when four or more devices are connected in a jtag chain, altera recommends buffering the tck , tdi , and tms pins with an on-board buffer. jtag-chain device programming is ideal when the system contains multiple devices, or when testing your system with jtag bst circuitry. figure 8?25 and figure 8?26 show multi-device jtag configuration. for devices using 2.5-, 3.0-, and 3.3-v v ccio supply, you must refer to figure 8?25 . all i/o inputs must maintain a maximum ac voltage of 4.1 v because jtag pins do not have the internal pci clamping diodes to prevent voltage overshoot when using 2.5-, 3.0-, and 3.3- v v ccio supply. you must power up the v cc of the download cable with a 2.5-v v cca supply. for device using v ccio of 1.2, 1.5 v, and 1.8 v, refer to figure 8?26 . you can power up the v cc of the download cable with the supply from v ccio . figure 8?25. jtag configuration of multiple devices using a download cable (2.5, 3.0, and 3.3-v v ccio powering the jtag pins) notes to figure 8?25 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the nconfig and msel pins to support a non-jtag configuration scheme. if you only use a jtag configuration, connect the nconfig pin to logic-high and the msel pins to gnd. in addition, pull dclk and data[0] to either high or low, whichever is convenient on your board. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver. v io must match the v cca of the device. for this value, refer to the masterblaster s erial/u s b communications cable user guide . in the byteblastermv cable, this pin is a no connect. in the usb-blaster and byteblaster ii cables, this pin is connected to nce when it is used for as programming, otherwise it is a no connect. (4) you must connect the nce pin to gnd or driven low for successful jtag configuration. (5) power up the v cc of the byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5-v supply from v cca . third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . (6) resistor value can vary from 1 k ? to 10 k ? .. tms tck dow n load cable 10-pi n male heade r tdi tdo pi n 1 nst a tus nconfig nce (4) conf_done v ccio (2) (2) v io (3) (6) (6) (1) (1) (2) data[0] dclk (2) msel[ ] nceo (2) tms tck tdi tdo nst a tus nconfig nce (4) conf_done (2) (2) (1) (2) data[0] dclk (2) nceo (2) (1) tms tck tdi tdo nst a tus nconfig nce (4) v ccio v ccio v ccio v ccio v cca v cca conf_done (2) (2) (2) data[0] dclk (2) nceo (2) (1) (1) 10 k 10 k 10 k 10 k 10 k 10 k cyclone iv device cyclone iv device cyclone iv device v ccio (5) msel[ ] msel[ ] v cca 1 k
8?50 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation 1 if a non-cyclone iv device is cascaded in the jtag-chain, tdo of the non-cyclone iv device driving into tdi of the cyclone iv device must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . the conf_done and nstatus signals are shared in multi-device as, ap, ps, and fpp configuration chains to ensure that the devices enter user mode at the same time after configuration is complete. when the conf_done and nstatus signals are shared among all the devices, you must configure every device when jtag configuration is performed. if you only use jtag configuration, altera recommends that you connect the circuitry as shown in figure 8?25 or figure 8?26 , in which each of the conf_done and nstatus signals are isolated so that each device can enter user mode individually. after the first device completes configuration in a multi-device configuration chain, its nceo pin drives low to activate the nce pin of the second device, which prompts the second device to begin configuration. therefore, if these devices are also in a jtag chain, ensure that the nce pins are connected to gnd during jtag configuration or that the devices are jtag configured in the same order as the configuration chain. as long as the devices are jtag configured in the same order as the multi-device configuration chain, the nceo of the previous device drives the nce pin of the next device low when it has successfully been jtag configured. you can place other altera devices that have jtag support in the same jtag chain for device programming and configuration. figure 8?26. jtag configuration of multiple devices using a download cable (1.2, 1.5, and 1.8-v v ccio powering the jtag pins) notes to figure 8?26 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) connect the nconfig and msel pins to support a non-jtag configuration scheme. if you only use a jtag configuration, connect the nconfig pin to logic-high and the msel pins to gnd. in addition, pull dclk and data[0] to either high or low, whichever is convenient on your board. (3) in the usb-blaster and byteblaster ii cable, this pin is connected to nce when it is used for as programming, otherwise it is a no connect. (4) you must connect the nce pin to gnd or driven low for successful jtag configuration. (5) power up the v cc of the byteblaster ii or usb-blaster cable with supply from v ccio . the byteblaster ii and usb-blaster cables do not support a target supply voltage of 1.2 v. for the target supply voltage value, refer to the byteblaster ii download cable user guide and the u s b-blaster download cable user guide . (6) resistor value can vary from 1 k ? to 10 k ? .. tms tck dow n load cable 10-pi n male heade r tdi tdo v ccio (5) pi n 1 nst a tus nconfig nce (4) conf_done (2) (2) v io (3) (6) (6) (1) (1) (2) data[0] dclk (2) msel[ ] nceo (2) tms tck tdi tdo nst a tus nconfig nce (4) conf_done (2) (2) (1) (2) data[0] dclk (2) nceo (2) (1) tms tck tdi tdo nst a tus nconfig nce (4) conf_done v ccio v ccio v ccio v ccio v ccio v ccio v ccio v ccio (2) (2) (2) data[0] dclk (2) nceo (2) (1) (1) 10 k 10 k 10 k 10 k 10 k 10 k cyclone iv device cyclone iv device cyclone iv device msel[ ] msel[ ] 1 k
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?51 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 1 jtag configuration allows an unlimited number of cyclone iv devices to be cascaded in a jtag chain. f for more information about configuring multiple altera devices in the same configuration chain, refer to the configuring mixed altera fpga chains chapter in volume 2 of the configuration handbook . figure 8?27 shows jtag configuration with a cyclone iv device and a microprocessor. configuring cyclone iv devices with jam stapl jam ? stapl, jedec standard jesd-71, is a standard file format for in-system programmability (isp) purposes. jam stapl supports programming or configuration of programmable devices and testing of electronic systems, using the ieee 1149.1 jtag interface. jam stapl is a freely licensed open standard. the jam player provides an interface for manipulating the ieee std. 1149.1 jtag tap state machine. f for more information about jtag and jam stapl in embedded environments, refer to an 425: using command-line jam stapl solution for device programming . to download the jam player, visit the altera website ( www.altera.com ). figure 8?27. jtag configuration of a single device using a microprocessor notes to figure 8?27 : (1) you must connect the pull-up resistor to a supply that provides an acceptable input signal for all devices in the chain. (2) connect the nconfig and msel pins to support a non-jtag configuration scheme. if you only use a jtag configuration, connect the nconfig pin to logic-high and the msel pins to gnd. in addition, pull dclk and data[0] to either high or low, whichever is convenient on your board. (3) you must connect the nce pin to gnd or driven low for successful jtag configuration. (4) all i/o inputs must maintain a maximum ac voltage of 4.1 v. signals driving into tdi , tms , and tck must fit the maximum overshoot outlined in equation 8?1 on page 8?5 . nconfig data[0] dclk tdi (4) tck (4) tms (4) microprocessor memory addr tdo cyclone i v device nstatus conf_done v ccio v ccio 10 k 10 k (2) (2) n.c. (2) (2) (1) (1) (3) msel[ ] nce nceo data
8?52 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation configuring cyclone iv devices with the jrunner software driver the jrunner software driver allows you to configure cyclone iv devices through the byteblaster ii or byteblastermv cables in jtag mode. the supported programming input file is in .rbf format. the jrunner software driver also requires a chain description file ( .cdf ) generated by the quartus ii software. the jrunner software driver is targeted for embedded jtag configuration. the source code is developed for the windows nt operating system (os). you can customize the code to make it run on your embedded platform. 1 the .rbf used by the jrunner software driver cannot be a compressed .rbf because the jrunner software driver uses jtag-based configuration. during jtag-based configuration, the real-time decompression feature is not available. f for more information about the jrunner software driver, refer to an 414: jrunner software driver: an embedded solution for pld jtag configuration and the source files on the altera website at ( www.altera.com ). combining jtag and as configuration schemes you can combine the as configuration scheme with the jtag-based configuration ( figure 8?28 ). this setup uses two 10-pin download cable headers on the board. one download cable is used in jtag mode to configure the cyclone iv device directly through the jtag interface. the other download cable is used in as mode to program the serial configuration device in-system through the as programming interface. if you try configuring the device using both schemes simultaneously, jtag configuration takes precedence and as configuration terminates.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?53 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?28. combining jtag and as configuration schemes notes to figure 8?28 : (1) connect these pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) power up the v cc of the ethernetblaster, byteblaster ii, or usb-blaster cable with the 3.3-v supply. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver.the v io must match the v cca of the device. for this value, refer to the masterblaster s erial/u s b communications cable user guide . when using the byteblastermv download cable, this pin is a no connect. when using the usb-blaster and byteblaster ii cables, this pin is connected to nce when it is used for as programming, otherwise it is a no connect. (4) the msel pin settings vary for different configuration voltage standards and por time. to connect msel for as configuration schemes, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (5) power up the v cc of the ethernetblaster, byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5-v v cca supply. third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . (6) you must place the diodes and capacitors as close as possible to the cyclone iv device. altera recommends using the schottky diode, which has a relatively lower forward diode voltage (vf) than the switching and zener diodes, for effective voltage clamping. (7) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (8) resistor value can vary from 1 k ? to 10 k ? .. (9) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . data dclk ncs asdi serial configuration device cyclone i v device 10 k 10 k v ccio v ccio gnd nceo nce nstatus conf_done 10 k v ccio nconfig msel[ ] (1) (1) (1) (4) 10k v cca n.c. v cca tck tdo tms tdi clkusr (9) gnd v cca (5) v io (3) 3.3 v (2) pin 1 pin 1 download cable (jtag mode) 10-pin male header (top view) download cable (as mode) 10-pin male header 3.3 v 10 pf gnd gnd 10 pf 10 pf gnd 10 pf gnd (6) (6) (8) (8) 3.3 v 3.3 v 3.3 v data[0] dclk ncso (7) asdo (7) 1 k
8?54 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation programming serial configuration devices in-system with the jtag interface cyclone iv devices in a single- or multiple-device chain support in-system programming of a serial configuration device with the jtag interface through the sfl design. the intelligent host or download cable of the board can use the four jtag pins on the cyclone iv device to program the serial configuration device in system, even if the host or download cable cannot access the configuration pins ( dclk , data , asdi , and ncs pins). the sfl design is a jtag-based in-system programming solution for altera serial configuration devices. the sfl is a bridge design for the cyclone iv device that uses their jtag interface to access the epcs jtag indirect configuration device programming ( .jic ) file and then uses the as interface to program the epcs device. both the jtag interface and as interface are bridged together inside the sfl design. in a multiple device chain, you must only configure the master device that controls the serial configuration device. slave devices in the multiple device chain that are configured by the serial configuration device do not have to be configured when using this feature. to successfully use this feature, set the msel pins of the master device to select the as configuration scheme ( table 8?3 on page 8?8 , ta b l e 8 ?4 on page 8?8 , and table 8?5 on page 8?9 ). the serial configuration device in-system programming through the cyclone iv device jtag interface has three stages, which are described in the following sections: ?loading the sfl design? ?isp of the configuration device? on page 8?55 ?reconfiguration? on page 8?56 loading the sfl design the sfl design is a design inside the cyclone iv device that bridges the jtag interface and as interface with glue logic. the intelligent host uses the jtag interface to configure the master device with a sfl design. the sfl design allows the master device to control the access of four serial configuration device pins, also known as the active serial memory interface (asmi) pins, through the jtag interface. the asmi pins are serial clock input ( dclk ), serial data output ( data ), as data input ( asdi ), and active-low chip select ( ncs ) pins. if you configure a master device with an sfl design, the master device enters user mode even though the slave devices in the multiple device chain are not being configured. the master device enters user mode with a sfl design even though the conf_done signal is externally held low by the other slave devices in chain. figure 8?29 shows the jtag configuration of a single cyclone iv device with a sfl design.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?55 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 isp of the configuration device in the second stage, the sfl design in the master device allows you to write the configuration data for the device chain into the serial configuration device with the cyclone iv device jtag interface. the jtag interface sends the programming data for the serial configuration device to the cyclone iv device first. the cyclone iv device then uses the asmi pins to send the data to the serial configuration device. figure 8?29. programming serial configuration device s in-system using the jtag interface notes to figure 8?29 : (1) connect the pull-up resistors to the v ccio supply of the bank in which the pin resides. (2) the msel pin settings vary for different configuration voltage standards and por time. to connect msel for as configuration schemes, refer to table 8?3 on page 8?8 , table 8?4 on page 8?8 , and table 8?5 on page 8?9 . connect the msel pins directly to v cca or gnd. (3) pin 6 of the header is a v io reference voltage for the masterblaster output driver. the v io must match the v cca of the device. for this value, refer to the masterblaster s erial/u s b communications cable user guide . when using the byteblastermv download cable, this pin is a no connect. when using usb-blaster, byteblaster ii, and ethernetblaster cables, this pin is connected to nce when it is used for as programming, otherwise it is a no connect. (4) you must connect the nce pin to gnd or driven low for successful jtag configuration. (5) the nceo pin is left unconnected or used as a user i/o pin when it does not feed the nce pin of another device. (6) power up the v cc of the ethernetblaster, byteblaster ii, usb-blaster, or byteblastermv cable with a 2.5- v v cca supply. third-party programmers must switch to 2.5 v. pin 4 of the header is a v cc power supply for the masterblaster cable. the masterblaster cable can receive power from either 5.0- or 3.3-v circuit boards, dc power supply, or 5.0 v from the usb cable. for this value, refer to the masterblaster s erial/u s b communications cable user guide . (7) connect the series resistor at the near end of the serial configuration device. (8) these pins are dual-purpose i/o pins. the ncso pin functions as flash_nce pin in ap mode. the asdo pin functions as data[1] pin in ap and fpp modes. (9) resistor value can vary from 1 k ? to 10 k ? .. (10) only cyclone iv gx devices have an option to select clkusr (40 mhz maximum) as the external clock source for dclk . nce (4) msel[ ] nconfig conf_done v cca v cca (6) gnd v ccio (1) gnd v ccio (1) (2) (10) v cca (9) (9) 1 k 10 k 10 k nstatus pi n 1 dow n load cable 10-pi n male heade r (top view) gnd tck tdo tms tdi clkusr gnd v io (3) cyclone i v device nceo n.c. (5) dclk data[0] ncso (8) asdo (8) dclk data ncs asdi serial configuration device v ccio (1) 10 k serial flash loader 25 (7)
8?56 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation reconfiguration after the configuration data is successfully written into the serial configuration device, the cyclone iv device does not automatically start reconfiguration. the intelligent host issues the pulse_nconfig jtag instruction to initialize the reconfiguration process. during reconfiguration, the master device is reset and the sfl design no longer exists in the cyclone iv device and the serial configuration device configures all the devices in the chain with the user design. f for more information about the sfl, refer to an 370: using the serial flashloader with quartus ii software. jtag instructions f for more information about the jtag binary instruction code, refer to the jtag boundary-scan testing for cyclone iv devices chapter. i/o reconfiguration use the config_io instruction to reconfigure the i/o configuration shift register (iocsr) chain. this instruction allows you to perform board-level testing prior to configuring the cyclone iv device or waiting for a configuration device to complete configuration. after the configuration is interrupted and jtag testing is complete, you must reconfigure the part through the pulse_nconfig jtag instruction or by pulsing the nconfig pin low. you can issue the config_io instruction any time during user mode. you must meet the following timing restrictions when using the config_io instruction: the config_io instruction cannot be issued when the nconfig pin is low you must observe a 230 ? s minimum wait time after any of the following conditions: nconfig pin goes high issuing the pulse_nconfig instruction issuing the active_engage instruction, before issuing the config_io instruction you must wait 230 ? s after power up, with the nconfig pin high before issuing the config_io instruction (or wait for the nstatus pin to go high) use the active_disengage instruction with the config_io instruction to interrupt configuration. table 8?14 lists the sequence of instructions to use for various config_io usage scenarios.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?57 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 the config_io instruction does not hold nstatus low until reconfiguration. you must disengage the as or ap configuration controller by issuing the active_disengage and active_engage instructions when active configuration is interrupted. you must issue the active_disengage instruction alone or prior to the config_io instruction if the jtag_program instruction is to be issued later ( table 8?15 ). this puts the active configuration controllers into the idle state. the active configuration controller is re-engaged after user mode is reached through jtag programming ( table 8?15 ). 1 while executing the config_io instruction, all user i/os are tri-stated. if reconfiguration after interruption is performed using configuration modes (rather than using jtag_program ), it is not necessary to issue the active_disengage instruction prior to config_io . you can start reconfiguration by either pulling nconfig low for at least 500 ns or issuing the pulse_nconfig instruction. if the active_disengage instruction was issued and the jtag_program instruction fails to enter user mode, you must issue the active_engage instruction to reactivate the active configuration controller. issuing the active_engage instruction also triggers reconfiguration in configuration modes; therefore, it is not necessary to pull nconfig low or issue the pulse_nconfig instruction. active_disengage the active_disengage instruction places the active configuration controller (as and ap) into an idle state prior to jtag programming. the two purposes of placing the active controller in an idle state are: to ensure that it is not trying to configure the device during jtag programming table 8?14. jtag config_io (wit hout jtag_program) instruction flows (note 1) jtag instruction configuration scheme and current state of the cyclone iv device prior to user mode (interrupting configuration) user mode power up ps fpp as ap ps fpp as ap ps fpp as ap active_disengage o o o 0 o o o 0 ???? config_io r r r r r r r r na na na na jtag boundary scan instructions (no jtag_program ) o o o 0 o o o 0 ???? active_engage aa r (2) r (2) aa r (2) r (2) ???? pulse_nconfig a (3) a (3) o 0 ???? pulse nconfig pin a (3) a (3) o 0 ???? jtag tap reset r r r r r r r r ? ? ? ? notes to table 8?14 : (1) you must execute ?r? indicates that the instruction before the next instruction, ?o? indicates the optional instruction, ?a? indicates that the instruction must be executed, and ?na? indicates that the instruction is not allowed in this mode. (2) required if you use active_disengage . (3) neither of the instruction is required if you use active_engage .
8?58 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation to allow the controllers to properly recognize a successful jtag programming that results in the device reaching user mode the active_disengage instruction is required before jtag programming regardless of the current state of the cyclone iv device if the msel pins are set to an as or ap configuration scheme. if the active_disengage instruction is issued during a passive configuration scheme (ps or fpp), it has no effect on the cyclone iv device. similarly, the config_io instruction is issued after an active_disengage instruction, but is no longer required to properly halt configuration. table 8?15 lists the required, recommended, and optional instructions for each configuration mode. the ordering of the required instructions is a hard requirement and must be met to ensure functionality. in the as or ap configuration scheme, the active_disengage instruction puts the active configuration controller into idle state. if a successful jtag programming is executed, the active controller is automatically re-engaged after user mode is reached through jtag programming. this causes the active controller to transition to their respective user mode states. if jtag programming fails to get the cyclone iv device to enter user mode and re-engage active programming, there are available methods to achieve this: in as configuration scheme, you can re-engage the as controller by moving the jtag tap controller to the reset state or by issuing the active_engage instruction. in ap configuration scheme, the only way to re-engage the ap controller is to issue the active_engage instruction. in this case, asserting the nconfig pin does not re-engage either active controller. table 8?15. jtag programming instruction flows (note 1) jtag instruction configuration scheme and current state of the cyclone iv device prior to user mode (interrupting configuration) user mode power up ps fpp as ap ps fpp as ap ps fpp as ap active_disengage o o r r oooro o rr config_io rc rc o o o o o 0 na na na na other jtag instructions o o o o o o o 0 o o o 0 jtag_program r r r r rrrrr r rr check_status rc rc rc rc rc rc rc rc rc rc rc rc jtag_startup r r r r rrrrr r rr jtag tap reset/other instruction r r r r rrrrr r rr note to table 8?15 : (1) ?r? indicates that the instruction must be executed before the next instruction, ?o? indicates the optional instruction, ?rc ? indicates the recommended instruction, and ?na? indicates that the instruction is not allowed in this mode.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?59 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 active_engage the active_engage instruction allows you to re-engage a disengaged active controller. you can issue this instruction any time during configuration or user mode to re-engage an already disengaged active controller, as well as trigger reconfiguration of the cyclone iv device in the active configuration scheme. the active_engage instruction functions as the pulse_nconfig instruction when the device is in the ps or fpp configuration schemes. the nconfig pin is disabled when the active_engage instruction is issued. 1 altera does not recommend using the active_engage instruction, but it is provided as a fail-safe instruction for re-engaging the active configuration controller (as and ap). overriding the internal oscillator this feature allows you to override the internal oscillator during the active configuration scheme. the as and ap configuration controllers use the internal oscillator as the clock source. you can change the clock source to clkusr through the jtag instruction. the en_active_clk and dis_active_clk jtag instructions toggle on or off whether or not the active clock is sourced from the clkusr pin or the internal configuration oscillator. to source the active clock from the clkusr pin, issue the en_active_clk instruction. this causes the clkusr pin to become the active clock source. when using the en_active_clk instruction, you must enable the internal oscillator for the clock change to occur. by default, the configuration oscillator is disabled after configuration and initialization is complete as well as the device has entered user mode. however, the internal oscillator is enabled in user mode by any of the following conditions: a reconfiguration event (for example, driving the nconfig pin to go low) remote update is enabled error detection is enabled you must clock the clkusr pin at two times the expected dclk frequency. the clkusr pin allows a maximum frequency of 80 mhz (40 mhz dclk ). normally, a test instrument uses the clkusr pin when it wants to drive its own clock to control the as state machine. to revert the clock source back to the configuration oscillator, issue the dis_active_clk instruction. after you issue the dis_active_clk instruction, you must continue to clock the clkusr pin for 10 clock cycles. otherwise, even toggling the nconfig pin does not revert the clock source and reconfiguration does not occur. a por reverts the clock source back to the configuration oscillator. toggling the nconfig pin or driving the jtag state machine to reset state does not revert the clock source.
8?60 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation en_active_clk the en_active_clk instruction causes the clkusr pin signal to replace the internal oscillator as the clock source. when using the en_active_clk instruction, you must enable the internal oscillator for the clock change to occur. after this instruction is issued, other jtag instructions can be issued while the clkusr pin signal remains as the clock source. the clock source is only reverted back to the internal oscillator by issuing the dis_active_clk instruction or a por. dis_active_clk the dis_active_clk instruction breaks the clkusr enable latch set by the en_active_clk instruction and causes the clock source to revert back to the internal oscillator. after the dis_active_clk instruction is issued, you must continue to clock the clkusr pin for 10 clock cycles. 1 you must clock the clkusr pin at two times the expected dclk frequency. the clkusr pin allows a maximum frequency of 80 mhz (40 mhz dclk ). changing the start boot address of the ap flash in the ap configuration scheme (for cyclone iv e devices only), you can change the default configuration boot address of the parallel flash memory to any desired address using the apfc_boot_addr jtag instruction. apfc_boot_addr the apfc_boot_addr instruction is for cyclone iv e devices only and allows you to define a start boot address for the parallel flash memory in the ap configuration scheme. this instruction shifts in a start boot address for the ap flash. when this instruction becomes the active instruction, the tdi and tdo pins are connected through a 22-bit active boot address shift register. the shifted-in boot address bits get loaded into the 22-bit ap boot address update register, which feeds into the ap controller. the content of the ap boot address update register can be captured and shifted-out of the active boot address shift register from tdo . the boot address in the boot address shift register and update register are shifted to the right (in the lsb direction) by two bits versus the intended boot address. the reason for this is that the two lsb of the address are not accessible. when this boot address is fed into the ap controller, two 0s are attached in the end as lsb, thereby pushing the shifted-in boot address to the left by two bits, which become the actual ap boot address the ap controller gets. if you have enabled the remote update feature, the apfc_boot_addr instruction sets the boot address for the factory configuration only. 1 the apfc_boot_addr instruction is retained after reconfiguration while the system board is still powered on. however, you must reprogram the instruction whenever you restart the system board.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?61 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 device configuration pins ta b l e 8 ?1 6 through ta b l e 8 ?1 9 describe the connections and functionality of all the configuration related pins on cyclone iv devices. ta b l e 8 ?1 6 and table 8?17 list the device pin configuration for the cyclone iv gx and cyclone iv e, respectively. table 8?16. configuration pin summary for cyclone iv gx devices bank description input/output dedicated powered by configuration mode 8 data[4:2] input ? v ccio fpp 3 data[7:5] input ? v ccio fpp 9 ncso (2) output ? v ccio as 3 crc_error output ? v ccio /pull-up (1) optional, all modes 9 data[0] (2) input yes v ccio ps, fpp, as 9 data[1]/asdo (2) input ? v ccio fpp output v ccio as 3 init_done output ? pull-up optional, all modes 3 nstatus bidirectional yes pull-up all modes 9 nce input yes v ccio all modes 9 dclk (2) input yes v ccio ps, fpp output v ccio as 3 conf_done bidirectional yes pull-up all modes 9 tdi input yes v ccio jtag 9 tms input yes v ccio jtag 9 tck input yes v ccio jtag 9 nconfig input yes v ccio all modes 8 clkusr input ? v ccio optional 3 nceo output ? v ccio optional, all modes 3 msel input yes v ccint all modes 9 tdo output yes v ccio jtag 6 dev_oe input ? v ccio optional 6 dev_clrn input ? v ccio optional notes to table 8?16 : (1) the crc_error pin is a dedicated output by default. optionally, you can enable the crc_error pin as an open-drain output in the crc error detection tab of the device and pin options dialog box. (2) to tri-state as configuration pins in the as configuration scheme, turn on the enable input tri-state on active configuration pins in user mode option from the device and pin options dialog box. this tri-states dclk , ncso , data[0] , and data[1]/asdo pins. dual-purpose pins settings for these pins are ignored. to set these pins to different settings, turn off the enable input tri-state on active configuration pins in user mode option and set the desired setting from the dual-purpose pins setting menu.
8?62 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation table 8?17. configuration pin summary for cyclone iv e devices (part 1 of 2) bank description input/output dedicated powered by configuration mode 1 ncso (1) , flash_nce (2) output ? v ccio as, ap 6 crc_error (3) output ? v ccio /pull-up (4) optional, all modes 1 data[0] (1) , (2) input yes v ccio ps, fpp, as bidirectional v ccio ap 1 data[1] (2) / asdo (1) input ? v ccio fpp output v ccio as bidirectional v ccio ap 8 data[7..2] (2) input ? v ccio fpp bidirectional v ccio ap 8 data[15..8] (2) bidirectional ? v ccio ap 6 init_done output ? pull-up optional, all modes 1 nstatus bidirectional yes pull-up all modes 1 nce input yes v ccio all modes 1 dclk (1) , (2) input yes v ccio ps, fpp output v ccio as, ap 6 conf_done bidirectional yes pull-up all modes 1 tdi input yes v ccio jtag 1 tms input yes v ccio jtag 1 tck input yes v ccio jtag 1 nconfig input yes v ccio all modes 6 clkusr input ? v ccio optional 6 nceo output ? v ccio optional, all modes 6 msel[] input yes v ccint all modes 1 tdo output yes v ccio jtag 7 padd[14..0] output ? v ccio ap 8 padd[19..15] output ? v ccio ap 6 padd[23..20] output ? v ccio ap 1 nreset output ? v ccio ap 6 navd output ? v ccio ap 6 noe output ? v ccio ap 6 nwe output ? v ccio ap 5 dev_oe input ? v ccio optional, ap
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?63 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 ta b l e 8 ?1 8 describes the dedicated configuration pins. you must properly connect these pins on your board for successful configuration. you may not need some of these pins for your configuration schemes. 5 dev_clrn input ? v ccio optional, ap notes to table 8?17 : (1) to tri-state as configuration pins in the as configuration scheme, turn-on the enable input tri-state on active configuration pins in user mode option from the device and pin options dialog box. this tri-states dclk , ncso , data[0] , and data[1]/asdo pins. dual-purpose pins settings for these pins are ignored. to set these pins to different settings, turn off the enable input tri-state on active configuration pins in user mode option and set the desired setting from the dual-purpose pins setting menu. (2) to tri-state ap configuration pins in the ap configuration scheme, turn-on the enable input tri-state on active configuration pins in user mode option from the device and pin options dialog box. this tri-states dclk , data[0..15] , flash_nce , and other ap pins. dual-purpose pins settings for these pins are ignored. to set these pins to different settings, turn off the enable input tri-state on active configuration pins in user mode option and set the desired setting from the dual-purpose pins setting menu. (3) the crc_error pin is not available in cyclone iv e devices with 1.0-v core voltage. (4) the crc_error pin is a dedicated output by default. optionally, you can enable the crc_error pin as an open-drain output in the crc error detection tab of the device and pin options dialog box. table 8?17. configuration pin summary for cyclone iv e devices (part 2 of 2) bank description input/output dedicated powered by configuration mode table 8?18. dedicated configuration pins on the cyclone iv device (part 1 of 4) pin name user mode configuration scheme pin type description msel n/a all input configuration input that sets the cyclone iv device configuration scheme. you must hardwire these pins to v cca or gnd. the msel pins have internal 9-k ? pull-down resistors that are always active. nconfig n/a all input configuration control input. pulling this pin low with external circuitry during user mode causes the cyclone iv device to lose its configuration data, enter a reset state, and tri-state all i/o pins. returning this pin to a logic-high level starts a reconfiguration. nstatus n/a all bidirectional open-drain the cyclone iv device drives nstatus low immediately after power-up and releases it after the por time. status output?if an error occurs during configuration, nstatus is pulled low by the target device. status input?if an external source (for example, another cyclone iv device) drives the nstatus pin low during configuration or initialization, the target device enters an error state. driving nstatus low after configuration and initialization does not affect the configured device. if you use a configuration device, driving nstatus low causes the configuration device to attempt to configure the device, but because the device ignores transitions on nstatus in user mode, the device does not reconfigure. to start a re configuration, you must pull nconfig low.
8?64 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation conf_done n/a all bidirectional open-drain status output?the target cyclone iv device drives the conf_done pin low before and during configuration. after all the configuration data is received without error and the initialization cycle starts, the target device releases conf_done. status input?after all the data is received and conf_done goes high, the target device initializes and enters user mode. the conf_done pin must have an external 10-k ? pull-up resistor in order for the device to initialize. driving conf_done low after configuration and initialization does not affect the configured device. do not connect bus holds or adc to conf_done pin. nce n/a all input active-low chip enable. the nce pin activates the cyclone iv device with a low signal to allow configuration. you must hold nce pin low during configuration, initialization, and user-mode. in a single-device configuration, you must tie the nce pin low. in a multi-device configuration, nce of the first device is tied low while its nceo pin is connected to nce of the next device in the chain. you must hold the nce pin low for successful jtag programming of the device. nceo n/a if option is on. i/o if option is off. all output open-drain output that drives low when configuration is complete. in a single-device configuration, you can leave this pin floating or use it as a user i/o pin after configuration. in a multi-device configuration, this pin feeds the nce pin of the next device. the nceo of the last device in the chain is left floating or used as a user i/o pin after configuration. if you use the nceo pin to feed the nce pin of the next device, use an external 10-k ? pull-up resistor to pull the nceo pin high to the v ccio voltage of its i/o bank to help the internal weak pull-up resistor. if you use the nceo pin as a user i/o pin after configuration, set the state of the pin on the dual-purpose pin settings. ncso, flash_nce i/o as, ap (1) output output control signal from the cyclone iv device to the serial configuration device in as mode that enables the configuration device. this pin functions as ncso in as mode and flash_nce in ap mode. output control signal from the cyclone iv device to the parallel flash in ap mode that enables the flash. connects to the ce# pin on the numonyx p30 or p33 flash. (1) this pin has an internal pull-up resistor that is always active. table 8?18. dedicated configuration pins on the cyclone iv device (part 2 of 4) pin name user mode configuration scheme pin type description
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?65 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 dclk n/a ps, fpp, as, ap (1) input (ps, fpp). output (as, ap) (1) in ps and fpp configuration, dclk is the clock input used to clock data from an external source into the target cyclone iv device. data is latched into the device on the rising edge of dclk . in as mode, dclk is an output from the cyclone iv device that provides timing for the configuration interface. it has an internal pull-up resistor (typically 25 k ? ) that is always active. in ap mode, dclk is an output from the cyclone iv e device that provides timing for the configuration interface. (1) in as or ap configuration schemes, this pin is driven into an inactive state after configuration completes. alternatively, in active schemes, you can use this pin as a user i/o during user mode. in ps or fpp schemes that use a control host, you must drive dclk either high or low, whichever is more convenient. in passive schemes, you cannot use dclk as a user i/o in user mode. toggling this pin after configuration does not affect the configured device. data[0] i/o ps, fpp, as, ap (1) input (ps, fpp, as). bidirectional (ap) (1) data input. in serial configuration modes, bit-wide configuration data is presented to the target cyclone iv device on the data[0] pin. in as mode, data[0] has an internal pull-up resistor that is always active. after as configuration, data[0] is a dedicated input pin with optional user control. after ps or fpp configuration, data[0] is available as a user i/o pin. the state of this pin depends on the dual-purpose pin settings. after ap configuration, data[0] is a dedicated bidirectional pin with optional user control. (1) data[1] / asdo i/o fpp, as, ap (1) input (fpp). output (as). bidirectional (ap) (1) the data[1] pin functions as the asdo pin in as mode. data input in non-as mode. control signal from the cyclone iv device to the serial configuration device in as mode used to read out configuration data. in as mode, data[1] has an internal pull-up resistor that is always active. after as configuration, data[1] is a dedicated output pin with optional user control. in a ps configuration scheme, data[1] functions as a user i/o pin during configuration, which means it is tri-stated. after fpp configuration, data[1] is available as a user i/o pin and the state of this pin depends on the dual-purpose pin settings. in an ap configuration scheme, for cyclone iv e devices only, the byte-wide or word-wide configuration data is presented to the target cyclone iv e device on data[7..0] or data[15..0] , respectively. after ap configuration, data[1] is a dedicated bidirectional pin with optional user control. (1) table 8?18. dedicated configuration pins on the cyclone iv device (part 3 of 4) pin name user mode configuration scheme pin type description
8?66 chapter 8: configuration and remote system upgrades in cyclone iv devices configuration cyclone iv device handbook, volume 1 ? december 2010 altera corporation data[7..2] i/o fpp, ap (1) inputs (fpp). bidirectional (ap) (1) in an as or ps configuration scheme, data[7..2] function as user i/o pins during configuration, which means they are tri-stated. after fpp configuration, data[7..2] are available as user i/o pins and the state of these pin depends on the dual-purpose pin settings. in an ap configuration scheme, for cyclone iv e devices only, the byte-wide or word-wide configuration data is presented to the target cyclone iv e device on data[7..0] or data[15..0] , respectively. after ap configuration, data[7..2] are dedicated bidirectional pins with optional user control. (1) data[15..8] i/o ap (1) bidirectional data inputs. word-wide configuration data is presented to the target cyclone iv e device on data[15..0] . in a ps, fpp, or as configuration scheme, data[15:8] function as user i/o pins during configuration, which means they are tri stated. after ap configuration, data[15:8] are dedicated bidirectional pins with optional user control. padd[23..0] i/o ap (1) output in ap mode, it is a 24-bit address bus from the cyclone iv e device to the parallel flash. connects to the a[24:1] bus on the numonyx p30 or p33 flash. nreset i/o ap (1) output active-low reset output. driving the nreset pin low resets the parallel flash. connects to the rst# pin on the numonyx p30 or p33 flash. navd i/o ap (1) output active-low address valid output. driving the navd pin low during read or write operation indicates to the parallel flash that a valid address is present on the padd[23..0] address bus. connects to the adv# pin on the numonyx p30 or p33 flash. noe i/o ap (1) output active-low output enable to the parallel flash. during the read operation, driving the noe pin low enables the parallel flash outputs ( data[15..0] ). connects to the oe# pin on the numonyx p30 or p33 flash. nwe i/o ap (1) output active-low write enable to the parallel flash. during the write operation, driving the nwe pin low indicates to the parallel flash that data on the data[15..0] bus is valid. connects to the we# pin on the numonyx p30 or p33 flash. note to table 8?18 : (1) the ap configuration scheme is for cyclone iv e devices only. table 8?18. dedicated configuration pins on the cyclone iv device (part 4 of 4) pin name user mode configuration scheme pin type description
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?67 configuration ? december 2010 altera corporation cyclone iv device handbook, volume 1 ta b l e 8 ?1 9 lists the optional configuration pins. if you do not enable these optional configuration pins in the quartus ii software, they are available as general-purpose user i/o pins. therefore, during configuration, these pins function as user i/o pins and are tri-stated with weak pull-up resistors. table 8?19. optional configuration pins pin name user mode pin type description clkusr n/a if option is on. i/o if option is off. input optional user-supplied clock input synchronizes the initialization of one or more devices. this pin is enabled by turning on the enable user-supplied start-up clock (clkusr) option in the quartus ii software. in as configuration for cyclone iv gx devices, you can use this pin as an external clock source to generate the dclk by changing the clock source option in the quartus ii software in the configuration tab of the device and pin options dialog box. init_done n/a if option is on. i/o if option is off. output open-drain status pin is used to indicate when the device has initialized and is in user-mode. when nconfig is low, the init_done pin is tri-stated and pulled high due to an external 10-k ? pull-up resistor during the beginning of configuration. after the option bit to enable init_done is programmed into the device (during the first frame of configuration data), the init_done pin goes low. when initialization is complete, the init_done pin is released and pulled high and the device enters user mode. thus, the monitoring circuitry must be able to detect a low-to-high transition. this pin is enabled by turning on the enable init_done output option in the quartus ii software. the functionality of this pin changes if the enable oct_done option is enabled in the quartus ii software. this option controls whether the init_done signal is gated by the oct_done signal, which indicates the power-up on-chip termination (oct) calibration is complete. if this option is turned off, the init_done signal is not gated by the oct_done signal. dev_oe n/a if option is on. i/o if option is off. input optional pin that allows you to override all tri-states on the device. when this pin is driven low, all i/o pins are tri-stated; when this pin is driven high, all i/o pins behave as programmed. this pin is enabled by turning on the enable device-wide output enable (dev_oe) option in the quartus ii software. dev_clrn n/a if option is on. i/o if option is off. input optional pin that allows you to override all clears on all device registers. when this pin is driven low, all registers are cleared; when this pin is driven high, all registers behave as programmed. you can enable this pin by turning on the enable device-wide reset (dev_clrn) option in the quartus ii software.
8?68 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation remote system upgrade cyclone iv devices support remote system upgrade in as and ap configuration schemes. you can also implement remote system upgrade with advanced cyclone iv features such as real-time decompression of configuration data in the as configuration scheme. 1 remote system upgrade is not supported in a multi-device configuration chain for any configuration scheme. functional description the dedicated remote system upgrade circuitry in cyclone iv devices manages remote configuration and provides error detection, recovery, and status information. a nios ? ii processor or a user logic implemented in the cyclone iv device logic array provides access to the remote configuration data source and an interface to the configuration memory. 1 configuration memory refers to serial configuration devices (epcs) or supported parallel flash memory, depending on the configuration scheme that is used. the remote system upgrade process of the cyclone iv device consists of the following steps: 1. a nios ii processor (or user logic) implemented in the cyclone iv device logic array receives new configuration data from a remote location. the connection to the remote source is a communication protocol, such as the transmission control protocol/internet protocol (tcp/ip), peripheral component interconnect (pci), user datagram protocol (udp), universal asynchronous receiver/transmitter (uart), or a proprietary interface. 2. the nios ii processor (or user logic) writes this new configuration data into a configuration memory. 3. the nios ii processor (or user logic) starts a reconfiguration cycle with the new or updated configuration data. 4. the dedicated remote system upgrade circuitry detects and recovers from any error that might occur during or after the reconfiguration cycle and provides error status information to the user design. figure 8?30 shows the steps required for performing remote configuration updates (the numbers in figure 8?30 coincide with steps 1 ? 3 ). figure 8?30. functional diagram of cyclone iv device remote system upgrade development location device configuration cyclone i v device control module data data data 1 2 3 configuration memory
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?69 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 figure 8?31 shows the block diagrams to implement remote system upgrade in cyclone iv devices. the msel pin setting in the remote system upgrade mode is the same as the standard configuration mode. standard configuration mode refers to normal cyclone iv device configuration mode with no support for remote system upgrades (the remote system upgrade circuitry is disabled). when using remote system upgrade in cyclone iv devices, you must enable the remote update mode option setting in the quartus ii software. enabling remote update you can enable or disable remote update for cyclone iv devices in the quartus ii software before design compilation (in the compiler settings menu). to enable remote update in the compiler settings of the project, perform the following steps: 1. on the assignments menu, click device . the settings dialog box appears. 2. click device and pin options . the device and pin options dialog box appears. 3. click the configuration tab. 4. from the configuration mode list, select remote . 5. click ok . 6. in the settings dialog box, click ok . configuration image types when using remote system upgrade, cyclone iv device configuration bitstreams are classified as factory configuration images or application configuration images. an image, also referred to as a configuration, is a design loaded into the device that performs certain user-defined functions. each device in your system requires one factory image or with addition of one or more application images. the factory image is a user-defined fall-back or safe configuration and is responsible for administering remote updates with the dedicated circuitry. application images implement user-defined functionality in the target cyclone iv device. you can include the default application image functionality in the factory image. figure 8?31. remote system upgrade block diagrams for as and ap configuration schemes serial config u ration de v ice s u pported parallel flash n ios processor or user logic cyclone iv de v ice n ios processor or user logic cyclone iv e de v ice serial configuration device parallel flash memory
8?70 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation remote system upgrade mode in remote update mode, cyclone iv devices load the factory configuration image after power up. the user-defined factory configuration determines the application configuration to be loaded and triggers a reconfiguration cycle. the factory configuration can also contain application logic. when used with configuration memory, the remote update mode allows an application configuration to start at any flash sector boundary. additionally, the remote update mode features a user watchdog timer that can detect functional errors in an application configuration. remote update mode in as configuration scheme, when a cyclone iv device is first powered up in remote update, it loads the factory configuration located at address boot_address[23:0] = 24b'0 . altera recommends storing the factory configuration image for your system at boot address 24b'0 , which corresponds to the start address location 0000000 in the serial configuration device. a factory configuration image is a bitstream for the cyclone iv device in your system that is programmed during production and is the fall-back image when an error occurs. this image is stored in non-volatile memory and is never updated or modified using remote access. when you use the ap configuration in cyclone iv e devices, the cyclone iv e device loads the default factory configuration located at the following address after device power-up in remote update mode: boot_address[23:0] = 24'h010000 = 24'b1 0000 0000 0000 0000 . you can change the default factory configuration address to any desired address using the apfc_boot_addr jtag instruction. the factory configuration image is stored in non-volatile memory and is never updated or modified using remote access. this corresponds to the default start address location 0010000 represented in 16-bit word addressing (or the updated address if the default address is changed) in the supported parallel flash memory. for more information about the application of the apfc_boot_addr jtag instruction in ap configuration scheme, refer to the ?jtag instructions? on page 8?56 .
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?71 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 the factory configuration image is user-designed and contains soft logic (nios ii processor or state machine and the remote communication interface) to: process any errors based on status information from the dedicated remote system upgrade circuitry communicate with the remote host and receive new application configurations and store the new configuration data in the local non-volatile memory device determine the application configuration to be loaded into the cyclone iv device enable or disable the user watchdog timer and load its time-out value (optional) instruct the dedicated remote system upgrade circuitry to start a reconfiguration cycle figure 8?32 shows the transitions between the factory configuration and application configuration in remote update mode. after power up or a configuration error, the factory configuration logic writes the remote system upgrade control register to specify the address of the application configuration to be loaded. the factory configuration also specifies whether or not to enable the user watchdog timer for the application configuration and, if enabled, specifies the timer setting. 1 only valid application configurations designed for remote update mode include the logic to reset the timer in user mode. for more information about the user watchdog timer, refer to the ?user watchdog timer? on page 8?78 . figure 8?32. transitions between configurations in remote update mode set control register and reconfig u re set control register and reconfig u re reload a different application reload a different application application n config u ration application 1 config u ration factory config u ration config u ration error config u ration error po w er up config u ration error
8?72 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation if there is an error while loading the application configuration, the remote system upgrade status register is written by the dedicated remote system upgrade circuitry of the cyclone iv device to specify the cause of the reconfiguration. the following actions cause the remote system upgrade status register to be written: nstatus driven low externally internal cyclical redundancy check (crc) error user watchdog timer time-out a configuration reset (logic array nconfig signal or external nconfig pin assertion) the cyclone iv device automatically loads the factory configuration when an error occurs. this user-designed factory configuration reads the remote system upgrade status register to determine the reason for reconfiguration. then the factory configuration takes the appropriate error recovery steps and writes to the remote system upgrade control register to determine the next application configuration to be loaded. when cyclone iv devices successfully load the application configuration, they enter user mode. in user mode, the soft logic (the nios ii processor or state machine and the remote communication interface) assists the cyclone iv device in determining when a remote system update is arriving. when a remote system update arrives, the soft logic receives the incoming data, writes it to the configuration memory device and triggers the device to load the factory configuration. the factory configuration reads the remote system upgrade status register, determines the valid application configuration to load, writes the remote system upgrade control register accordingly, and starts system reconfiguration.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?73 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 dedicated remote system upgrade circuitry this section describes the implementation of the cyclone iv device remote system upgrade dedicated circuitry. the remote system upgrade circuitry is implemented in hard logic. this dedicated circuitry interfaces with the user-defined factory application configurations implemented in the cyclone iv device logic array to provide the complete remote configuration solution. the remote system upgrade circuitry contains the remote system upgrade registers, a watchdog timer, and state machines that control those components. figure 8?33 shows the data path of the remote system upgrade block. figure 8?33. remote system upgrade circuit data path (note 1) notes to figure 8?33 : (1) the ru_dout , ru_shiftnld , ru_captnupdt , ru_clk , ru_din,ru_nconfig , and ru_nrstimer signals are internally controlled by the altremote_update megafunction. (2) the ru_clk refers to the altremote_update megafunction block "clock" input. for more information, refer to the remote update circuitry (altremote_update) megafunction user guide. stat u s register (sr) pre v io u s state register 2 bit[30..0] pre v io u s state register 1 bit[30..0] c u rrent state logic bit[31..0] internal oscillator/ clkusr control register bit [3 8 ..0] logic update register bit [3 8 ..0] u pdate logic bit [40..39] do u t din bit [3 8 ..0] do u t din capt u re shift register clko u t capt u re u pdate logic clkin ru_di n ru_shiftnld ru_captnupdt ru_clk (2) ru_dout ru_nco n fig ru_nrstimer logic array rsu reconfig u ration state machine user w atchdog timer rsu master state machine timeo u t
8?74 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation remote system upgrade registers the remote system upgrade block contains a series of registers that stores the configuration addresses, watchdog timer settings, and status information. table 8?20 lists these registers. the control and status registers of the remote system upgrade are clocked by the 10-mhz internal oscillator (the same oscillator that controls the user watchdog timer) or the clkusr . however, the shift and update registers of the remote system upgrade are clocked by the maximum frequency of 40-mhz user clock input ( ru_clk ). there is no minimum frequency for ru_clk. remote system upgrade control register the remote system upgrade control register stores the application configuration address, the user watchdog timer settings, and option bits for a application configuration. in remote update mode for the as configuration scheme, the control register address bits are set to all zeros ( 24'b0 ) at power up to load the as factory configuration. in remote update mode for the ap configuration scheme, the control register address bits are set to 24'h010000 ( 24'b1 0000 0000 0000 0000 ) at power up to load the ap default factory configuration. however, for the ap configuration scheme, you can change the default factory configuration address to any desired address using the apfc_boot_addr jtag instruction. additionally, a factory configuration in remote update mode has write access to this register. figure 8?34 shows the control register bit positions. table 8?21 defines the control register bit contents. the numbers in figure 8?34 show the bit position of a setting in a register. for example, bit number 35 is the enable bit for the watchdog timer. table 8?20. remote system upgrade registers register description shift register this register is accessible by the logic array and allows the update, status, and control registers to be written and sampled by user logic. write access is enabled in re mote update mode for factory configurations to allow writing to the update register. write access is disabled for all application configurations in remote update mode. control register this register contains the current configuration address, the user watchdog timer settings, one option bit for checking early conf_done , and one option bit for selecting the internal oscillator as the startup state machine clock. during a read operation in an application configuration, this register is read into the shift register. when a reconfiguration cycle is started, the cont ents of the update register are written into the control register. update register this register contains data similar to that in the control register. however, it can only be updated by the factory configuration by shifting data into the shift register and issuing an update operation. when a reconfiguration cycle is triggered by the factory configuration, the control register is updated with the contents of the update register. during a read in a factory configuration, this register is read into the shift register. status register this register is written by the remote system upgrade circuitry on every reconfiguration to record the cause of the reconfiguration. this information is used by the factory configuration to determine the appropriate action following a reconfiguration. during a capture cycle, this register is read into the shift register.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?75 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 when enabled, the early conf_done check ( cd_early ) option bit ensures that there is a valid configuration at the boot address specified by the factory configuration and that it is of the proper size. if an invalid configuration is detected or the conf_done pin is asserted too early, the device resets and then reconfigures the factory configuration image. the internal oscillator (as the startup state machine clock [ osc_int ] option bit) ensures a functional startup clock to eliminate the hanging of startup. when all option bits are turned on, they provide complete coverage for the programming and startup portions of the application configuration. altera recommends turning on both the cd_early and osc_int option bits. 1 the cd_early and osc_int option bits for the application configuration must be turned on by the factory configuration. remote system upgrade status register the remote system upgrade status register specifies the reconfiguration trigger condition. the various trigger and error conditions include: cyclical redundancy check (crc) error during application configuration nstatus assertion by an external device due to an error cyclone iv device logic array triggers a reconfiguration cycle, possibly after downloading a new application configuration image external configuration reset ( nconfig ) assertion user watchdog timer time out figure 8?34. remote system upgrade control register rsv2 cd_early osc_int wd_en rsv1 ru_address[21..0] wd_timer[11.. 0] 38 37 36 35 34 33 12 11 0 table 8?21. remote system upgrade control register contents control register bit value definition wd_timer[11..0] 12'b000000000000 user watchdog time-out value (most significant 12 bits of 29-bit count value: {wd_timer[11..0],17'b1000} ) ru_address[21..0] 22'b0000000000000000000000 configuration address (most significant 22 bits of 24-bit boot address value: boot_address[23:0] = {ru_address[21..0],2'b0} ) rsv1 1'b0 reserved bit wd_en 1'b1 user watchdog timer enable bit osc_int (1) 1'b1 internal oscillator as startup state machine clock enable bit cd_early (1) 1'b1 early conf_done check rsv2 1'b1 reserved bit note to table 8?21 : (1) option bit for the application configuration.
8?76 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation ta b l e 8 ?2 2 lists the contents of the current state logic in the status register, when the remote system upgrade master state machine is in factory configuration or application configuration accessing the factory information or application information, respectively. the status register bit in table 8?22 lists the bit positions in a 32-bit logic. the previous two application configurations are available in the previous state registers (previous state register 1 and previous state register 2), but only for debugging purposes. ta b l e 8 ?2 3 lists the contents of previous state register 1 and previous state register 2 in the status register. the status register bit in table 8?23 shows the bit positions in a 3-bit register. the previous state register 1 and previous state register 2 have the same bit definitions. the previous state register 1 reflects the current application configuration and the previous state register 2 reflects the previous application configuration. table 8?22. remote system upgrade current state logic contents in status register remote system upgrade master state machine status register bit definition description factory information (1) 31:30 master state machine current state the current state of the remote system upgrade master state machine 29:24 reserved bits padding bits that are set to all 0?s 23:0 boot address the current 24-bit boot address that was used by the configuration scheme as the start address to load the current configuration. application information 1 (2) 31:30 master state machine current state the current state of the remote system upgrade master state machine 29 user watchdog timer enable bit the current state of the user watchdog enable, which is active high 28:0 user watchdog timer time-out value the current entire 29-bit watchdog time-out value. application information 2 (2) 31:30 master state machine current state the current state of the remote system upgrade master state machine 29:24 reserved bits padding bits that are set to all 0?s 23:0 boot address the current 24-bit boot address that was used as the start address to load the current configuration notes to table 8?22 (1) the remote system upgrade master state machine is in factory configuration. (2) the remote system upgrade master state machine is in application configuration.
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?77 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 if a capture is inappropriately done while capturing a previous state before the system has entered remote update application configuration for the first time, a value outputs from the shift register to indicate that the capture is incorrectly called. remote system upgrade state machine the remote system upgrade control and update registers have identical bit definitions, but serve different roles ( table 8?20 on page 8?74 ). while both registers can only be updated when the device is loaded with a factory configuration image, the update register writes are controlled by the user logic, and the control register writes are controlled by the remote system upgrade state machine. in factory configurations, the user logic should send the option bits ( cd_early and osc_int ), the configuration address, and watchdog timer settings for the next application configuration bit to the update register. when the logic array configuration reset ( ru_nconfig ) goes high, the remote system upgrade state machine updates the control register with the contents of the update register and starts system reconfiguration from the new application page. 1 to ensure the successful reconfiguration between the pages, assert the ru_nconfig signal for a minimum of 250 ns. this is equivalent to strobing the reconfig input of the altremote_update megafunction high for a minimum of 250 ns. if there is an error or reconfiguration trigger condition, the remote system upgrade state machine directs the system to load a factory or application configuration (based on mode and error condition) by setting the control register accordingly. ta b l e 8 ?2 4 lists the contents of the control register after such an event occurs for all possible error or trigger conditions. the remote system upgrade status register is updated by the dedicated error monitoring circuitry after an error condition, but before the factory configuration is loaded. table 8?23. remote system upgrade previous state register 1 and previous state register 2 contents in status register status register bit definition description 30 nconfig source one-hot, active-high field that describes the reconfiguration source that caused the cyclone iv device to leave the previous application configuration. if there is a tie, the higher bit order indicates precedence. for example, if nconfig and remote system upgrade nconfig reach the reconfiguration state machine at the same time, the nconfig precedes the remote system upgrade nconfig . 29 crc error source 28 nstatus source 27 user watchdog timer source 26 remote system upgrade nconfig source 25:24 master state machine current state the state of the master state machine during reconfiguration causes the cyclone iv device to leave the previous application configuration. 23:0 boot address the address used by the configuration scheme to load the previous application configuration.
8?78 chapter 8: configuration and remote system upgrades in cyclone iv devices remote system upgrade cyclone iv device handbook, volume 1 ? december 2010 altera corporation user watchdog timer the user watchdog timer prevents a faulty application configuration from indefinitely stalling the device. the system uses the timer to detect functional errors after an application configuration is successfully loaded into the cyclone iv device. the user watchdog timer is a counter that counts down from the initial value loaded into the remote system upgrade control register by the factory configuration. the counter is 29 bits wide and has a maximum count value of 2 29 . when specifying the user watchdog timer value, specify only the most significant 12 bits. the remote system upgrade circuitry appends 17 ' b1000 to form the 29-bits value for the watchdog timer. the granularity of the timer setting is 2 17 cycles. the cycle time is based on the frequency of the 10-mhz internal oscillator or clkusr (maximum frequency of 40 mhz). table 8?24. control register contents after an er ror or reconfiguration trigger condition reconfiguration error/trigger control register setting in remote update nconfig reset all bits are 0 nstatus error all bits are 0 core triggered reconfiguration update register crc error all bits are 0 wd time out all bits are 0
chapter 8: configuration and remote system upgrades in cyclone iv devices 8?79 remote system upgrade ? december 2010 altera corporation cyclone iv device handbook, volume 1 ta b l e 8 ?2 5 lists the operating range of the 10-mhz internal oscillator. the user watchdog timer begins counting after the application configuration enters device user mode. this timer must be periodically reloaded or reset by the application configuration before the timer expires by asserting ru_nrstimer . if the application configuration does not reload the user watchdog timer before the count expires, a time-out signal is generated by the remote system upgrade dedicated circuitry. the time-out signal tells the remote system upgrade circuitry to set the user watchdog timer status bit ( wd ) in the remote system upgrade status register and reconfigures the device by loading the factory configuration. 1 to allow the remote system upgrade dedicated circuitry to reset the watchdog timer, you must assert the ru_nrstimer signal active for a minimum of 250 ns. this is equivalent to strobing the reset_timer input of the altremote_update megafunction high for a minimum of 250 ns. errors during configuration are detected by the crc engine. functional errors must not exist in the factory configuration because it is stored and validated during production and is never updated remotely. 1 the user watchdog timer is disabled in factory configurations and during the configuration cycle of the application configuration. it is enabled after the application configuration enters user mode. quartus ii software support implementation in your design requires a remote system upgrade interface between the cyclone iv device logic array and remote system upgrade circuitry. you must also generate configuration files for production and remote programming of the system configuration memory. the quartus ii software provides these features. the two implementation options, altremote_update megafunction and remote system upgrade atom, are for the interface between the remote system upgrade circuitry and the device logic array interface. using the megafunction block instead of creating your own logic saves design time and offers more efficient logic synthesis and device implementation. f for more information about the altremote_update megafunction, refer to the remote update circuitry (altremote_update) megafunction user guide . table 8?25. 10-mhz internal oscillator specifications minimum typical maximum unit 56.510mhz
8?80 chapter 8: configuration and remote system upgrades in cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? december 2010 altera corporation document revision history ta b l e 8 ?2 6 lists the revision history for this chapter. table 8?26. document revision history date version changes made december 2010 1.3 updated for the quartus ii software version 10.1 release. added cyclone iv e new device package information. updated table 8?7 , table 8?10 , and table 8?11 . minor text edits. july 2010 1.2 updated for the quartus ii software 10.0 release: updated ?power-on reset (por) circuit?, ?configuration and jtag pin i/o requirements?, and ?reset? sections. updated figure 8?10. updated table 8?16 and table 8?17. february 2010 1.1 updated for the quartus ii software 9.1 sp1 release: added?overriding the internal oscillator? and ?ap configuration (supported flash memories)? sections. updated ?jtag instructions? section. added table 8?6. updated table 8?2, table 8?3, table 8?4, table 8?6, table 8?11, table 8?13, table 8?14, table 8?15, and table 8?18. updated figure 8?4, figure 8?5, figure 8?6, figure 8?13, figure 8?14, figure 8?15, figure 8?17, figure 8?18, figure 8?23, figure 8?24, figure 8?25, figure 8?26, figure 8?27, figure 8?28, and figure 8?29. november 2009 1.0 initial release.
? february 2010 altera corporation cyclone iv device handbook, volume 1 9. seu mitigation in cyclone iv devices this chapter describes the cyclical redundancy check (crc) error detection feature in user mode and how to recover from soft errors. 1 configuration error detection is supported in all cyclone ? iv devices including cyclone iv gx devices, cyclone iv e devices with 1.0-v core voltage, and cyclone iv e devices with 1.2-v core voltage. however, user mode error detection is only supported in cyclone iv gx devices and cyclone iv e devices with 1.2-v core voltage. dedicated circuitry built into cyclone iv devices consists of a crc error detection feature that can optionally check for a single-event upset (seu) continuously and automatically. in critical applications used in the fields of avionics, telecommunications, system control, medical, and military applications, it is important to be able to: confirm the accuracy of the configuration data stored in an fpga device alert the system to an occurrence of a configuration error using the crc error detection feature for cyclone iv devices does not impact fitting or performance. this chapter contains the following sections: ?configuration error detection? on page 9?1 ?user mode error detection? on page 9?2 ?automated seu detection? on page 9?3 ?crc_error pin? on page 9?3 ?error detection block? on page 9?4 ?error detection timing? on page 9?5 ?software support? on page 9?7 ?recovering from crc errors? on page 9?10 configuration error detection 1 configuration error detection is available in all cyclone iv devices including cyclone iv gx devices, cyclone iv e devices with 1.0-v core voltage, and cyclone iv e devices with 1.2-v core voltage. configuration error detection determines if the configuration data received through an external memory device is corrupted during configuration. to validate the configuration data, the quartus ? ii software uses a function to calculate the crc value for each configuration data frame and stores the frame-based crc value in the configuration data as part of the configuration bit stream. cyiv-51009-1.1
9?2 chapter 9: seu mitigation in cyclone iv devices user mode error detection cyclone iv device handbook, volume 1 ? february 2010 altera corporation during configuration, cyclone iv devices use the same methodology to calculate the crc value based on the frame of data that is received and compares it against the frame crc value in the data stream. configuration continues until either the device detects an error or all the values are calculated. in addition to the frame-based crc value, the quartus ii software generates a 32-bit crc value for the whole configuration bit stream. this 32-bit crc value is stored in the 32-bit storage register at the end of the configuration and is used for user mode error detection that is discussed in ?user mode error detection? . user mode error detection 1 user mode error detection is available in cyclone iv gx and cyclone iv e devices with 1.2-v core voltage. cyclone iv e devices with 1.0-v core voltage do not support user mode error detection. soft errors are changes in a configuration random-access memory (cram) bit state due to an ionizing particle. cyclone iv devices have built-in error detection circuitry to detect data corruption by soft errors in the cram cells. this error detection capability continuously computes the crc of the configured cram bits based on the contents of the device and compares it with the pre-calculated crc value obtained at the end of the configuration. if the crcs match, there is no error in the current configuration cram bits. the process of error detection continues until the device is reset (by setting nconfig to low). the cyclone iv device error detection feature does not check memory blocks and i/o buffers. these device memory blocks support parity bits that are used to check the contents of memory blocks for any error. the i/o buffers are not verified during error detection because the configuration data uses flip-flops as storage elements that are more resistant to soft errors. similar flip-flops are used to store the pre-calculated crc and other error detection circuitry option bits. the error detection circuitry in cyclone iv devices uses a 32-bit crc ieee 802 standard and a 32-bit polynomial as the crc generator. therefore, a single 32-bit crc calculation is performed by the device. if a soft error does not occur, the resulting 32-bit signature value is 0x00000000 , that results in a 0 on the crc_error output signal. if a soft error occurs in the device, the resulting signature value is non-zero and the crc_error output signal is 1 . you can inject a soft error by changing the 32-bit crc storage register in the crc circuitry. after verifying the induced failure, you can restore the 32-bit crc value to the correct crc value with the same instruction and inserting the correct value. 1 before updating it with a known bad value, altera recommends reading out the correct value.
chapter 9: seu mitigation in cyclone iv devices 9?3 automated seu detection ? february 2010 altera corporation cyclone iv device handbook, volume 1 in user mode, cyclone iv devices support the change_edreg jtag instruction, that allows you to write to the 32-bit storage register. you can use jam ? stapl files ( .jam ) to automate the testing and verification process. you can only execute this instruction when the device is in user mode, and it is a powerful design feature that enables you to dynamically verify the crc functionality in-system without having to reconfigure the device. you can then use the crc circuit to check for real errors induced by an seu. ta b l e 9 ?1 describes the change_edreg jtag instructions. 1 after the test completes, altera recommends that you power cycle the device. automated seu detection cyclone iv devices offer on-chip circuitry for automated checking of seu detection. applications that require the device to operate error-free at high elevations or in close proximity to earth?s north or south pole require periodic checks to ensure continued data integrity. the error detection cyclic redundancy code feature controlled by the device and pin options dialog box in the quartus ii software uses a 32-bit crc circuit to ensure data reliability and is one of the best options for mitigating seu. you can implement the error detection crc feature with existing circuitry in cyclone iv devices, eliminating the need for external logic. the crc is computed by the device during configuration and checked against an automatically computed crc during normal operation. the crc_error pin reports a soft error when configuration cram data is corrupted. you must decide whether to reconfigure the fpga by strobing the nconfig pin low or ignore the error. crc_error pin a specific crc_error error detection pin is required to monitor the results of the error detection circuitry during user mode. table 9?2 describes the crc_error pin. table 9?1. change_edreg jtag instruction jtag instruction instruction code description change_edreg 00 0001 0101 this instruction connects the 32-bit crc storage register between tdi and tdo . any precomputed crc is loaded into the crc storage register to test the operation of the error detection crc circuitry at the crc_error pin. table 9?2. cyclone iv device crc_error pin description crc_error pin type description dedicated output or open drain output (optional) by default, the quartus ii software sets the crc_error pin as a dedicated output. if the crc_error pin is used as a dedicated output, you must ensure that the v ccio of the bank in which the pin resides meets the input voltage specification of the system receiving the signal. optionally, you can set this pin to be an open-drain output by enabling the option in the quartus ii software from the error detection crc tab of the device and pin options dialog box. using the pin as an open-drain pr ovides an advantage on the voltage leveling. to use this pin as open-drain, you can tie this pin to v ccio of bank 1 through a 10-k ? pull-up resistor. alternatively, depending on the voltage input specification of the system receiving the signal, you can tie the pull-up resistor to a different pull-up voltage.
9?4 chapter 9: seu mitigation in cyclone iv devices error detection block cyclone iv device handbook, volume 1 ? february 2010 altera corporation f the crc_error pin information for cyclone iv devices is reported in the cyclone iv devices pin-outs on the altera ? website. 1 wysiwyg is an optimization technique that performs optimization on a vqm (verilog quartus mapping) netlist in the quartus ii software. error detection block ta b l e 9 ?3 lists the types of crc detection to check the configuration bits. this section focuses on the first type?the 32-bit crc when the device is in user mode. error detection registers there are two sets of 32-bit registers in the error detection circuitry that store the computed crc signature and pre-calculated crc value. a non-zero value on the signature register causes the crc_error pin to set high. figure 9?1 shows the block diagram of the error detection block and the two related 32-bit registers: the signature register and the storage register. table 9?3. types of crc detection to check the configuration bits first type of crc detection second type of crc detection cram error checking ability (32-bit crc) during user mode, for use by the crc_error pin. there is only one 32-bit crc value. this value covers all the cram data. 16-bit crc embedded in every configuration data frame. during configuration, after a frame of data is loaded into the device, the pre-computed crc is shifted into the crc circuitry. simultaneously, the crc value for the data frame shifted-in is calculated. if the pre-computed crc and calculated crc values do not match, nstatus is set low. every data frame has a 16-bit crc. therefore, there are many 16-bit crc values for the whole configuration bit stream. every device has a different length of configuration data frame. figure 9?1. error detection block diagram control signals error detection state machine 32- b it storage register comp u te & compare crc 32- b it signat u re register 32 32 32
chapter 9: seu mitigation in cyclone iv devices 9?5 error detection timing ? february 2010 altera corporation cyclone iv device handbook, volume 1 ta b l e 9 ?4 defines the registers shown in figure 9?1 . error detection timing when the error detection crc feature is enabled through the quartus ii software, the device automatically activates the crc process upon entering user mode after configuration and initialization is complete. the crc_error pin is driven low until the error detection circuitry detects a corrupted bit in the previous crc calculation. after the pin goes high, it remains high during the next crc calculation. this pin does not log the previous crc calculation. if the new crc calculation does not contain any corrupted bits, the crc_error pin is driven low. the error detection runs until the device is reset. the error detection circuitry runs off an internal configuration oscillator with a divisor that sets the maximum frequency. ta b l e 9 ?5 lists the minimum and maximum error detection frequencies. table 9?4. error detection registers register function 32-bit signature register this register contains the crc signature. the signature register contains the result of the user mode calculated crc value compared against the pre-calculated crc value. if no errors are detected, the signature register is all zeros. a non-zero signature register indicates an error in the configuration cram contents. the crc_error signal is derived from the contents of this register. 32-bit storage register this register is loaded with the 32-bit pre-computed crc signature at the end of the configuration stage. the signature is then loaded into the 32-bit crc circuit (called the compute and compare crc block, as shown in figure 9?1 ) during user mode to calculate the crc error. this register forms a 32-bit scan chain during execution of the change_edreg jtag instruction. the change_edreg jtag instruction can change the content of the storage register. therefore, the functionality of the error detection crc circuitry is checked in-system by executing the instruction to inject an error during the operation. the operation of the device is not halted when issuing the change_edreg instruction. table 9?5. minimum and maximum error detection frequencies for cyclone iv devices error detection frequency maximum error detection frequency minimum error detection frequency valid divisors (2 n ) 80 mhz/2 n 80 mhz 312.5 khz 0, 1, 2, 3, 4, 5, 6, 7, 8
9?6 chapter 9: seu mitigation in cyclone iv devices error detection timing cyclone iv device handbook, volume 1 ? february 2010 altera corporation you can set a lower clock frequency by specifying a division factor in the quartus ii software (for more information, refer to ?software support? ). the divisor is a power of two (2), where n is between 0 and 8. the divisor ranges from one through 256. refer to equation 9?1 . crc calculation time depends on the device and the error detection clock frequency. ta b l e 9 ?6 lists the estimated time for each crc calculation with minimum and maximum clock frequencies for cyclone iv devices. equation 9?1. error detection frequency 80 mhz 2 n ------------------- = table 9?6. crc calculation time device minimum time (ms) (1) maximum time (s) (2) cyclone iv e ep4ce6 (3) 5 2.29 ep4ce10 (3) 5 2.29 ep4ce15 (3) 73.17 ep4ce22 (3) 9 4.51 ep4ce30 (3) 15 7.48 ep4ce40 (3) 15 7.48 ep4ce55 (3) 23 11.77 ep4ce75 (3) 31 15.81 ep4ce115 (3) 45 22.67 cyclone iv gx ep4cgx15 6 2.93 ep4cgx22 12 5.95 ep4cgx30 12 5.95 34 (4) 17.34 (4) ep4cgx50 34 17.34 ep4cgx75 34 17.34 ep4cgx110 62 31.27 ep4cgx150 62 31.27 notes to table 9?6 : (1) the minimum time corresponds to the maximum error detection clock frequency and may vary with different processes, voltages, and temperatures (pvt). (2) the maximum time corresponds to the minimum error detection clock frequency and may vary with different pvt. (3) only applicable for device with 1.2-v core voltage (4) only applicable for the f484 device package.
chapter 9: seu mitigation in cyclone iv devices 9?7 software support ? february 2010 altera corporation cyclone iv device handbook, volume 1 software support enabling the crc error detection feature in the quartus ii software generates the crc _ error output to the optional dual purpose crc _ error pin. to enable the error detection feature using crc, perform the following steps: 1. open the quartus ii software and load a project using cyclone iv devices. 2. on the assignments menu, click settings . the settings dialog box appears. 3. in the category list, select device . the device page appears. 4. click device and pin options . the device and pin options dialog box appears as shown in figure 9?2 . 5. in the device and pin options dialog box, click the error detection crc tab. 6. turn on enable error detection crc . 7. in the divide error check frequency by box, enter a valid divisor as documented in table 9?5 on page 9?5 . 1 the divisor value divides the frequency of the configuration oscillator output clock. this output clock is used as the clock source for the error detection process. 8. click ok . figure 9?2. enabling the error detection crc feature in the quartus ii software
9?8 chapter 9: seu mitigation in cyclone iv devices software support cyclone iv device handbook, volume 1 ? february 2010 altera corporation accessing error detection block through user logic the error detection circuit stores the computed 32-bit crc signature in a 32-bit register, which is read out by user logic from the core. the cycloneiv _ crcblock primitive is a wysiwyg component used to establish the interface from the user logic to the error detection circuit. the cycloneiv _ crcblock primitive atom contains the input and output ports that must be included in the atom. to access the logic array, the cycloneiv _ crcblock wysiwyg atom must be inserted into your design. figure 9?3 shows the error detection block diagram in fpga devices and shows the interface that the wysiwyg atom enables in your design. 1 the user logic is affected by the soft error failure, so reading out the 32-bit crc signature through the regout should not be relied upon to detect a soft error. you should rely on the crc_error output signal itself, because this crc_error output signal cannot be affected by a soft error. to enable the cycloneiv_crcblock wysiwyg atom, you must name the atom for each cyclone iv device accordingly. figure 9?3. error detection block diagram clock divider (1 to 256 factor) pre-computed crc (saved in the option register) crc computation error detection logic sram bits crc_error (shown in bidir mode) v cc logic array clk shiftnld ldsrc regout crc_error 80 mhz internal chip oscillator
chapter 9: seu mitigation in cyclone iv devices 9?9 software support ? february 2010 altera corporation cyclone iv device handbook, volume 1 example 9?1 shows an example of how to define the input and output ports of a wysiwyg atom in a cyclone iv device. ta b l e 9 ?7 lists the input and output ports that you must include in the atom. example 9?1. error detection block diagram cycloneiv_crcblock ( .clk(), .shiftnld(), .ldsrc(), .crcerror(), .regout(), ); table 9?7. crc block input and output ports (part 1 of 2) port input/output definition input unique identifier for the crc block, and represents any identifier name that is legal for the given description language (for example, verilog hdl, vhdl, and ahdl). this field is required. .clk (< clock source > input this signal designates the clock input of this cell. all operations of this cell are with respect to the rising edge of the clock. whether it is the loading of the data into the cell or data out of the cell, it always occurs on the rising edge. this port is required. .shiftnld (< shiftnld source >) input this signal is an input into the error detection block. if shiftnld=1 , the data is shifted from the internal shift register to the regout at each rising edge of clk . if shiftnld=0 , the shift register parallel loads either the pre-calculated crc value or the update register contents, depending on the ldsrc port input. to do this, the shiftnld must be driven low for at least two clock cycles. this port is required. .ldsrc (< ldsrc source >) input this signal is an input into the error detection block. if ldsrc=0 , the pre-computed crc register is selected for loading into the 32-bit shift register at the rising edge of clk when shiftnld=0 . if ldsrc=1 , the signature register (result of the crc calculation) is selected for loading into the shift register at the rising edge of clk when shiftnld=0 . this port is ignored when shiftnld=1 . this port is required.
9?10 chapter 9: seu mitigation in cyclone iv devices recovering from crc errors cyclone iv device handbook, volume 1 ? february 2010 altera corporation recovering from crc errors the system that the altera fpga resides in must control device reconfiguration. after detecting an error on the crc_error pin, strobing the nconfig low directs the system to perform the reconfiguration at a time when it is safe for the system to reconfigure the fpga. when the data bit is rewritten with the correct value by reconfiguring the device, the device functions correctly. while soft errors are uncommon in altera devices, certain high-reliability applications might require a design to account for these errors. document revision history ta b l e 9 ?8 lists the revision history for this chapter. .crcerror (< crcerror indicator output >) output this signal is the output of the cell that is synchronized to the internal oscillator of the device (80-mhz internal oscillator) and not to the clk port. it asserts high if the error block detects that a sram bit has flipped and the internal crc computation has shown a difference with respect to the pre-computed value. you must connect this signal either to an output pin or a bidirectional pin. if it is connected to an output pin, you can only monitor the crc_error pin (the core cannot access this output). if the crc_error signal is used by core logic to read error detection logic, you must connect this signal to a bidir pin. the signal is fed to the core indirectly by feeding a bidir pin that has its output enable port connected to v cc (see figure 9?3 on page 9?8 ). .regout (< registered output >) output this signal is the output of the error detection shift register synchronized to the clk port to be read by core logic. it shifts one bit at each cycle, so you should clock the clk signal 31 cycles to read out the 32 bits of the shift register. table 9?7. crc block input and output ports (part 2 of 2) port input/output definition table 9?8. document revision history date version changes made february 2009 1.1 updated for the quartus ii software version 9.1 sp1 release: updated ?configuration error detection? section. updated table 9?6 . added cyclone iv e devices in table 9?6 . november 2009 1.0 initial release.
? february 2010 altera corporation cyclone iv device handbook, volume 1 10. jtag boundary-scan testing for cyclone iv devices this chapter describes the boundary-scan test (bst) features that are supported in cyclone ? iv devices. the features are similar to cyclone iii devices, unless stated in this chapter. cyclone iv devices (cyclone iv e devices and cyclone iv gx devices) support ieee std. 1149.1. cyclone iv gx devices also support ieee std. 1149.6. the ieee std. 1149.6 (ac jtag) is only supported on the high-speed serial interface (hssi) transceivers in cyclone iv gx devices. the purpose of ieee std. 1149.6 is to enable board-level connectivity checking between transmitters and receivers that are ac coupled. this chapter includes the following sections: ?ieee std. 1149.6 boundary-scan register? on page 10?2 ?bst operation control? on page 10?3 ?i/o voltage support in a jtag chain? on page 10?5 ?boundary-scan description language support? on page 10?6 f for more information about the jtag instructions code with descriptions and ieee std.1149.1 bst guidelines, refer to the ieee 1149.1 (jtag) boundary-scan testing for cyclone iii devices chapter. f for more information about the following topics, refer to an 39: ieee 1149.1 (jtag) boundary-scan testing in altera devices : ieee std. 1149.1 bst architecture and circuitry tap controller state-machine instruction mode cyiv-51010-1.1
10?2 chapter 10: jtag boundary-scan testing for cyclone iv devices ieee std. 1149.6 boundary-scan register cyclone iv device handbook, volume 1 ? february 2010 altera corporation ieee std. 1149.6 boundary-scan register the boundary-scan cell (bsc) for hssi transmitters ( gxb_tx[p,n] ) and receivers ( gxb_rx[p,n] ) in cyclone iv gx devices are different from the bscs for i/o pins. figure 10?1 shows the cyclone iv gx hssi transmitter boundary-scan cell. figure 10?1. hssi transmitter bsc with ieee std. 1149.6 bst circuitry for cyclone iv gx devices mem_i n it sdi n shift 0 1 0 1 dq dq clk sdout update mode ac_test capt u re update registers bstx1 pad pad tx o u tp u t b u ffer 0 1 dq dq dq dq highz bsca n pma 0 1 0 1 0 1 bs0eb m0 rhz oe logic bstx0 oe oe noe mission (dataout) ac jtag o u tp u t b u ffer ac jtag o u tp u t b u ffer ac_mode
chapter 10: jtag boundary-scan testing for cyclone iv devices 10?3 bst operation control ? february 2010 altera corporation cyclone iv device handbook, volume 1 figure 10?2 shows the cyclone iv gx hssi receiver bsc. f for more information about cyclone iv devices user i/o boundary-scan cells, refer to the ieee 1149.1 (jtag) boundary-scan testing for cyclone iii devices chapter. bst operation control ta b l e 1 0? 1 lists the boundary-scan register length for cyclone iv devices. figure 10?2. hssi receiver bsc with ieee std. 1149.6 bst circuitry for the cyclone iv gx devices highz sdi n shift 0 1 0 1 dq dq clk sdout update mode ac_test capt u re update registers bsrx1 bsout1 bsrx0 bsout0 mem_i n it ac_mode hysteretic memory ac jtag test recei v er mission ( data i n ) optional i n test/ru n bist not s u pported pad pad rx inp u t b u ffer ac jtag test recei v er hysteretic memory bsca n pma table 10?1. boundary-scan register length for cyclone iv devices (part 1 of 2) device boundary-scan register length ep4ce6 603 ep4ce10 603 ep4ce15 1080 ep4ce22 732 ep4ce30 1632 ep4ce40 1632 ep4ce55 1164 ep4ce75 1314 ep4ce115 1620 ep4cgx15 260 ep4cgx22 494 ep4cgx30 (1) 494 ep4cgx50 1006
10?4 chapter 10: jtag boundary-scan testing for cyclone iv devices bst operation control cyclone iv device handbook, volume 1 ? february 2010 altera corporation ta b l e 1 0? 2 lists the idcode information for cyclone iv devices. ieee std.1149.6 mandates the addition of two new instructions: extest_pulse and extest_train . these two instructions enable edge-detecting behavior on the signal path containing the ac pins. ep4cgx75 1006 ep4cgx110 1495 ep4cgx150 1495 note to table 10?1 : (1) for the f484 package of the ep4cgx30 device, the boundary-scan register length is 1006. table 10?1. boundary-scan register length for cyclone iv devices (part 2 of 2) device boundary-scan register length table 10?2. idcode information for 32-bit cyclone iv devices device idcode (32 bits) (1) version (4 bits) part number (16 bits) manufacturer identity (11 bits) lsb (1 bit) (2) ep4ce6 0000 0010 0000 1111 0001 000 0110 1110 1 ep4ce10 0000 0010 0000 1111 0001 000 0110 1110 1 ep4ce15 0000 0010 0000 1111 0010 000 0110 1110 1 ep4ce22 0000 0010 0000 1111 0011 000 0110 1110 1 ep4ce30 0000 0010 0000 1111 0100 000 0110 1110 1 ep4ce40 0000 0010 0000 1111 0100 000 0110 1110 1 ep4ce55 0000 0010 0000 1111 0101 000 0110 1110 1 ep4ce75 0000 0010 0000 1111 0110 000 0110 1110 1 ep4ce115 0000 0010 0000 1111 0111 000 0110 1110 1 ep4cgx15 0000 0010 1000 0000 0001 000 0110 1110 1 ep4cgx22 0000 0010 1000 0001 0010 000 0110 1110 1 ep4cgx30 (3) 0000 0010 1000 0000 0010 000 0110 1110 1 ep4cgx30 (4) 0000 0010 1000 0001 0011 000 0110 1110 1 ep4cgx50 0000 0010 1000 0010 0011 000 0110 1110 1 ep4cgx75 0000 0010 1000 0000 0011 000 0110 1110 1 ep4cgx110 0000 0010 1000 0001 0100 000 0110 1110 1 ep4cgx150 0000 0010 1000 0000 0100 000 0110 1110 1 notes to table 10?2 : (1) the msb is on the left. (2) the idcode lsb is always 1. (3) the idcode is applicable for all packages except for the f484 package. (4) the idcode is applicable for the f484 package only.
chapter 10: jtag boundary-scan testing for cyclone iv devices 10?5 i/o voltage support in a jtag chain ? february 2010 altera corporation cyclone iv device handbook, volume 1 extest_pulse the instruction code for extest_pulse is 0010001111. the extest_pulse instruction generates three output transitions: driver drives data on the falling edge of tck in update_ir/dr. driver drives inverted data on the falling edge of tck after entering the run_test/idle state. driver drives data on the falling edge of tck after leaving the run_test/idle state. extest_train the instruction code for extest_train is 0001001111. the extest_train instruction behaves the same as the extest_pulse instruction with one exception. the output continues to toggle on the tck falling edge as long as the test access port (tap) controller is in the run_test/idle state. 1 these two instruction codes are only supported in post-configuration mode for cyclone iv gx devices. i/o voltage support in a jtag chain a cyclone iv device operating in bst mode uses four required pins: tdi , tdo , tms , and tck . the tdo output pin and all jtag input pins are powered by the v ccio power supply of i/o banks (i/o bank 9 for cyclone iv gx devices and i/o bank 1 for cyclone iv e devices). a jtag chain can contain several different devices. however, you must use caution if the chain contains devices that have different v ccio levels. the output voltage level of the tdo pin must meet the specification of the tdi pin it drives. for example, a device with a 3.3-v tdo pin can drive a device with a 5.0-v tdi pin because 3.3 v meets the minimum ttl-level v ih for the 5.0-v tdi pin. 1 for multiple devices in a jtag chain with the 3.0-v/3.3-v i/o standard, you must connect a 25- ? series resistor on a tdo pin driving a tdi pin. you can also interface the tdi and tdo lines of the devices that have different v ccio levels by inserting a level shifter between the devices. if possible, the jtag chain should have a device with a higher v ccio level driving a device with an equal or lower v ccio level. this way, a level shifter may be required only to shift the tdo level to a level acceptable to the jtag tester.
10?6 chapter 10: jtag boundary-scan testing for cyclone iv devices boundary-scan description language support cyclone iv device handbook, volume 1 ? february 2010 altera corporation figure 10?3 shows the jtag chain of mixed voltages and how a level shifter is inserted in the chain. boundary-scan description language support the boundary-scan description language (bsdl), a subset of vhdl, provides a syntax that allows you to describe the features of an ieee std. 1149.1/ieee std. 1149.6 bst-capable device that can be tested. f for more information about how to download bsdl files for ieee std. 1149.1-compliant cyclone iv e devices, refer to ieee std. 1149.1 bsdl files . f for more information about how to download bsdl files for ieee std. 1149.6-compliant cyclone iv gx devices, refer to ieee std. 1149.6 bsdl files . f you can also generate bsdl files (pre-configuration and post-configuration) for ieee std. 1149.1/ieee std. 1149.6-compliant cyclone iv devices with the quartus ? ii software version 9.1 sp1 and later. for more information about the procedure to generate bsdl files using the quartus ii software, refer to bsdl files generation in quartus ii . figure 10?3. jtag chain of mixed voltages tester must be 3.3- v tolerant must be 1.8- v tolerant shift tdo to level accepted by tester if necessary must be 2.5- v tolerant 3.3- v v ccio 2.5- v v ccio 1.5- v v ccio 1.8- v v ccio level shifter tdi tdo
chapter 10: jtag boundary-scan testing for cyclone iv devices 10?7 document revision history ? february 2010 altera corporation cyclone iv device handbook, volume 1 document revision history ta b l e 1 0? 3 lists the revision history for this chapter. table 10?3. document revision history date version changes made february 2010 1.1 added cyclone iv e devices in table 10?1 and table 10?2 for the quartus ii software version 9.1 sp1 release. updated figure 10?1 and figure 10?2 . minor text edits. november 2009 1.0 initial release.
10?8 chapter 10: jtag boundary-scan testing for cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? february 2010 altera corporation
? july 2010 altera corporation cyclone iv device handbook, volume 1 11. power requirements for cyclone iv devices this chapter describes information about external power supply requirements, hot-socketing specifications, power-on reset (por) requirements, and their implementation in cyclone iv devices. this chapter includes the following sections: ?external power supply requirements? on page 11?1 ?hot-socketing specifications? on page 11?2 ?hot-socketing feature implementation? on page 11?3 ?power-on reset circuitry? on page 11?3 external power supply requirements this section describes the different external power supplies required to power cyclone iv devices. table 11?1 and table 11?2 list the descriptions of external power supply pins for cyclone iv gx and cyclone iv e devices, respectively. f for each altera recommended power supply?s operating conditions, refer to the cyclone iv device datasheet chapter. f for power supply pin connection guidelines and power regulator sharing, refer to the cyclone iv device family pin connection guidelines . table 11?1. power supply descriptions for the cyclone iv gx devices (part 1 of 2) power supply pin nominal voltage level (v) description vccint 1.2 core voltage, pci express (pcie) hard ip block, and transceiver physical coding sublayer (pcs) power supply vcca (1) 2.5 pll analog power supply vccd_pll 1.2 pll digital power supply vccio (2) 1.2, 1.5, 1.8, 2.5, 3.0, 3.3 i/o banks power supply vcc_clkin (3) , (4) 1.2, 1.5, 1.8, 2.5, 3.0, 3.3 differential clock input pins power supply vcch_gxb 2.5 transceiver output (tx) buffer power supply vcca_gxb 2.5 transceiver physical medium attachment (pma) and auxiliary power supply cyiv-51011-1.2
11?2 chapter 11: power requirements for cyclone iv devices hot-socketing specifications cyclone iv device handbook, volume 1 ? july 2010 altera corporation hot-socketing specifications cyclone iv devices are hot-socketing compliant without the need for any external components or special design requirements. hot-socketing support in cyclone iv devices has the following advantages: you can drive the device before power up without damaging the device. i/o pins remain tri-stated during power up. the device does not drive out before or during power-up. therefore, it does not affect other buses in operation. devices driven before power-up you can drive signals into regular cyclone iv e i/o pins and transceiver cyclone iv gx i/o pins before or during power up or power down without damaging the device. cyclone iv devices support any power-up or power-down sequence to simplify system-level designs. i/o pins remain tri-stated during power-up the output buffers of cyclone iv devices are turned off during system power up or power down. cyclone iv devices do not drive out until the device is configured and working in recommended operating conditions. the i/o pins are tri-stated until the device enters user mode. vccl_gxb 1.2 transceiver pma and auxiliary power supply notes to table 11?1 : (1) you must power up vcca even if the phase-locked loop (pll) is not used. (2) i/o banks 3, 8, and 9 contain configuration pins. you can only power up the v ccio level of i/o banks 3 and 9 to 1.5 v, 1.8 v, 2.5 v, 3.0 v, or 3.3 v. for fast passive parallel (fpp) configuration mode, you must power up the v ccio level of i/o bank 8 to 1.5 v, 1.8 v, 2.5 v, 3.0 v, or 3.3 v. (3) all device packages of ep4cgx15, ep4cgx22, and device package f169 and f324 of ep4cgx30 devices have two vcc_clkin dedicated clock input i/o located at banks 3a and 8a. device package f484 of ep4cgx30, all device packages of ep4cgx50, ep4cgx75, ep4cgx11 0, and ep4cgx150 devices have four vcc_clkin dedicated clock input i/o bank located at banks 3a, 3b, 8a, and 8b. (4) you must set vcc_clkin to 2.5 v if the clkin is used as high-speed serial interface (hssi) refclk . vcc_clkin located at i/o banks 3b and 8b only support a nominal voltage level of 2.5 v for lvds input function because they are dedicated for hssi refclk . for ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 devices, the single-ended input clk support is available for dedicated input clk pins at i/o banks 3b and 8b. table 11?1. power supply descriptions for the cyclone iv gx devices (part 2 of 2) power supply pin nominal voltage level (v) description table 11?2. power supply descriptions for the cyclone iv e devices power supply pin nominal voltage level (v) description vccint 1.0, 1.2 core voltage power supply vcca (1) 2.5 pll analog power supply vccd_pll 1.0, 1.2 pll digital power supply vccio (2) 1.2, 1.5, 1.8, 2.5, 3.0, 3.3 i/o banks power supply notes to table 11?2 : (1) you must power up vcca even if the pll is not used. (2) i/o banks 1, 6, 7, and 8 contain configuration pins.
chapter 11: power requirements for cyclone iv devices 11?3 hot-socketing feature implementation ? july 2010 altera corporation cyclone iv device handbook, volume 1 1 the user i/o pins and dual-purpose i/o pins have weak pull-up resistors, which are always enabled (after por) before and during configuration. the weak pull up resistors are not enabled prior to por. a possible concern for semiconductor devices in general regarding hot socketing is the potential for latch up. latch up can occur when electrical subsystems are hot socketed into an active system. during hot socketing, the signal pins may be connected and driven by the active system before the power supply can provide current to the v cc of the device and ground planes. this condition can lead to latch up and cause a low-impedance path from v cc to gnd in the device. as a result, the device extends a large amount of current, possibly causing electrical damage. the design of the i/o buffers and hot-socketing circuitry ensures that cyclone iv devices are immune to latch up during hot-socketing. f for more information about the hot-socketing specification, refer to the cyclone iv device datasheet chapter and the hot-socketing and power-sequencing feature and testing for altera devices white paper. hot-socketing feature implementation the hot-socketing circuit does not include the conf_done , nceo , and nstatus pins to ensure that they are able to operate during configuration. the expected behavior for these pins is to drive out during power-up and power-down sequences. 1 altera uses gnd as reference for hot-socketing operation and i/o buffer designs. to ensure proper operation, altera recommends connecting the gnd between boards before connecting the power supplies. this prevents the gnd on your board from being pulled up inadvertently by a path to power through other components on your board. a pulled up gnd can otherwise cause an out-of-specification i/o voltage or current condition with the altera device. power-on reset circuitry cyclone iv devices contain por circuitry to keep the device in a reset state until the power supply voltage levels have stabilized during power up. during por, all user i/o pins are tri-stated until the power supplies reach the recommended operating levels. in addition, the por circuitry also ensures the v ccio level of i/o banks that contain configuration pins reach an acceptable level before configuration is triggered. the por circuit of the cyclone iv device monitors the v ccint , v cca , and v ccio that contain configuration pins during power-on. you can power up or power down the v ccint , v cca , and v ccio pins in any sequence. the v ccint , v cca , and v ccio must have a monotonic rise to their steady state levels. all v cca pins must be powered to 2.5v (even when plls are not used), and must be powered up and powered down at the same time. after the cyclone iv device enters the user mode, the por circuit continues to monitor the v ccint and v cca pins so that a brown-out condition during user mode is detected. if the v ccint or v cca voltage sags below the por trip point during user mode, the por circuit resets the device. if the v ccio voltage sags during user mode, the por circuit does not reset the device.
11?4 chapter 11: power requirements for cyclone iv devices document revision history cyclone iv device handbook, volume 1 ? july 2010 altera corporation in some applications, it is necessary for a device to wake up very quickly to begin operation. cyclone iv devices offer the fast-on feature to support fast wake-up time applications. the msel pin settings determine the por time (t por ) of the device. f for more information about the msel pin settings, refer to the configuration and remote system upgrades in cyclone iv devices chapter. f for more information about the por specifications, refer to the cyclone iv device datasheet chapter. document revision history table 11?3 lists the revision history for this chapter. table 11?3. document revision history date version changes made july 2010 1.2 updated for the quartus ii software version 10.0 release. updated ?i/o pins remain tri-stated during power-up? section. updated table 11?1 . february 2010 1.1 updated table 11?1 and table 11?2 for the quartus ii software version 9.1 sp1 release. november 2009 1.0 initial release.
101 innovation drive san jose, ca 95134 www.altera.com cyclone iv device handbook, volume 2 cyiv-5v2-1.4
copyright ? 2010 altera corporation. all rights reserved. altera, the programmable solutions compan y, the stylized altera logo, specific device designations, and all other words and logos that are ide ntified as trademarks and/ or service marks are, unless noted ot herwise, the tradem arks and service marks of altera corporation in the u.s. and other countries. rsds and ppds are registered trademarks of national semiconductor. all other product or service names are the proper ty of their respective holders. altera products are protected under numerous u.s. and fore ign patents and pending applications, maskwork rights, and copyrights. altera warrant s performance of its semiconductor products to current specifications in accordance with altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. altera as- sumes no responsibility or liability arising out of the applicatio n or use of any information, product, or service described he rein except as expr essly agreed to in writing by altera corporation. altera customers are advised to obtain the latest ve rsion of device specifications before relying on any published information and before pla cing orders for products or services .
? december 2010 altera corporation cyclone iv device handbook, volume 2 contents chapter revision dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v additional information about this handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-vii how to contact altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-vii typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-vii section i. transceivers revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-1 chapter 1. cyclone iv transceivers architecture transceiver architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 architectural overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 transmitter channel datapath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 tx phase compensation fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 byte serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 8b/10b encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 miscellaneous transmitter pcs features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 transmitter output buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 receiver channel datapath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 receiver input buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 clock data recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 automatic lock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 manual lock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 word aligner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 deskew fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 rate match fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21 8b/10b decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21 byte deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 byte ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22 rx phase compensation fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 miscellaneous receiver pcs feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 transceiver clocking architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24 input reference clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24 transceiver channel datapath clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 non-bonded channel configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28 bonded channel configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 fpga fabric-transceiver interface clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-39 calibration block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-41 pci-express hard ip block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-42 transceiver functional modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-43 basic mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-43 low-latency pcs operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-45 transmitter in electrical idle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-46 signal detect at receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-46 receiver spread spectrum clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-46
ii contents cyclone iv device handbook, volume 2 ? december 2010 altera corporation pci express (pipe) mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-48 pipe interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-49 receiver detection circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-50 electrical idle control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-51 signal detect at receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-51 lane synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52 clock rate compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52 low-latency synchronous pcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52 fast recovery from p0s state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52 electrical idle inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-53 compliance pattern transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-53 reset requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-54 gige mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-54 running disparity preservation with idle ordered set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-57 lane synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-57 clock frequency compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-57 serial rapidio mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-59 lane synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-60 clock frequency compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-61 xaui mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-61 xgmii and pcs code conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-64 channel deskewing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-65 lane synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-66 clock rate compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-67 deterministic latency mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-68 registered mode phase compensation fifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1- 70 receive bit-slip indication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-70 transmit bit-slip control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-70 pll pfd feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-70 sdi mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-71 loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-73 reverse parallel loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-73 serial loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-74 reverse serial loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-75 self test modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-76 bist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-76 prbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-77 transceiver top-level port lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-79 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-86 chapter 2. cyclone iv rese t control and power down user reset and power-down signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 blocks affected by the reset and power-do wn signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 -3 transceiver reset sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 all supported functional modes except the pcie functional mode . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 bonded channel configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 non-bonded channel configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 pcie functional mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 pcie reset sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 pcie initialization/compliance phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 pcie normal phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 dynamic reconfiguration reset sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 reset sequence in pll reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 reset sequence in channel reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
contents iii ? december 2010 altera corporatio n cyclone iv device ha ndbook, volume 2 power down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 simulation requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 reference information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 chapter 3. cyclone iv dynamic reconfiguration glossary of terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 dynamic reconfiguration co ntroller architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 dynamic reconfiguration co ntroller port list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 offset cancellation feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 functional simulation of the offset cancellation process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 dynamic reconfiguration modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 pma controls reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 method 1: using logical_channel_address to reconfigure specific transceiver channels . . . . 3-12 method 2: writing the same control signals to control all the transceiver channels . . . . . . . 3-14 method 3: writing different control signals fo r all the transceiver channels at the same time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 transceiver channel reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 channel interface reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 data rate reconfiguration mode using rx local divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 control and status signals for channel reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 pll reconfiguration mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 error indication during dynamic reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 functional simulation of the dynamic reco nfiguration process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
iv contents cyclone iv device handbook, volume 2 ? december 2010 altera corporation
? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 chapter revision dates the chapters in this book, cyclone iv device handbook, volume 2 , were revised on the following dates. where chapters or groups of chapters are available separately, part numbers are listed. chapter 1 cyclone iv transceivers architecture revised: december 2010 part number: cyiv-52001-3.2 chapter 2 cyclone iv reset control and power down revised: december 2010 part number: cyiv-52002-1.1 chapter 3 cyclone iv dynamic reconfiguration revised: december 2010 part number: cyiv-52003-2.0
vi chapter revision dates cyclone iv device handbook, volume 2 ? december 2010 altera corporation
? july 2010 altera corporation cycl one iv device handbook, volume 2 additional information about this handbook this handbook provides comprehensive information about the altera ? cyclone ? iv family of devices. how to contact altera for the most up-to-date information about altera products, see the following table. typographic conventions the following table shows the typographic conventions that this document uses. contact (note 1) contact method address technical support website www.altera.com/support technical training website www.altera.com/training email custrain@altera.com non-technical support (general) email nacomp@altera.com (software licensing) email authorization@altera.com note: (1) you can also contact yo ur local altera sales office or sales representative. visual cue meaning bold type with initial capital letters indicates command names, dialog box titles, dialog box options, and other gui labels. for example, save as dialog box. for gui elements, capitalization matches the gui. bold type indicates directory names, project names, disk drive names, file names, file name extensions, dialog box options, software utility names, and other gui labels. for example, \qdesigns directory, d: drive, and chiptrip.gdf . italic type with initial capital letters indicates document titles. for example, an 519: cyclone iv design guidelines. italic type indicates variables. for example, n + 1. variable names are enclosed in angle brackets (< >). for example, and .pof . initial capital letters indicates keyboard keys and menu names. for example, delete key and the options menu. ?subheading title? quotation marks indicate references to sections within a document and titles of quartus ii help topics. for example, ?typographic conventions.?
info?xii additional information cyclone iv device handbook, volume 2 ? july 2010 altera corporation courier type indicates signal, port, register, bit, block, and primitive names. for example, data1 , tdi , and input . active-low signals are denoted by suffix n . for example, resetn . indicates command line commands and anything that must be typed exactly as it appears. for example, c:\qdesigns\tutorial\chiptrip.gdf . also indicates sections of an actual file, such as a report file, references to parts of files (for example, the ahdl keyword subdesign ), and logic function names (for example, tri ). 1., 2., 3., and a., b., c., and so on. numbered steps indicate a list of items when the sequence of the items is important, such as the steps listed in a procedure. bullets indicate a list of items when the sequence of the items is not important. 1 the hand points to information that requires special attention. c a caution calls attention to a condition or possible situation that can damage or destroy the product or your work. w a warning calls attention to a condition or possible situation that can cause you injury. r the angled arrow instructs you to press enter . f the feet direct you to more information about a particular topic. visual cue meaning
? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 section i. transceivers this section provides a complete overview of all features relating to the cyclone ? iv device transceivers. this section includes the following chapters: chapter 1, cyclone iv transceivers architecture chapter 2, cyclone iv reset control and power down chapter 3, cyclone iv dynamic reconfiguration revision history refer to the chapter for its own specific re vision history. for information about when the chapter was updated, refer to the chap ter revision dates section, which appears in the complete handbook.
1?2 chapter : cyclone iv device handbook, volume 2 ? december 2010 altera corporation
? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 1. cyclone iv transceivers architecture cyclone ? iv gx devices include up to eight fu ll-duplex transceivers at serial data rates between 600 mbps and 3.125 gbps in a low-cost fpga. table 1?1 lists the supported cyclone iv gx transceiver channel serial protocols. you can implement these protocols through the altgx megawizard? plug-in manager, which also offers the highly flexible basic functional mode to implement proprietary serial prot ocols at the following serial data rates: 600 mbps to 2.5 gbps for device s in f324 and smaller packages 600 mbps to 3.125 gbps for devi ces in f484 and larger packages for descriptions of the ports available when instantiating a transceiver using the altgx megafunction, refer to ?transceiver top-level port lists? on page 1?79 . f for more information about cyclone iv transceivers that run at ? 2.97 gbps data rate, refer to the cyclone iv device family pin connection guidelines. 1 the cyclone iv gx device includes a hard intellectual property (ip) implementation of the pcie megacore ? functions, supporting gen1 1, 2, and 4 initial lane widths configured in the root port or endpoint mode. for more information, refer to ?pci- express hard ip block? on page 1?42 . table 1?1. serial protocols supported by the cyclone iv gx transceiver channels ?preliminary protocol data rate (gbps) f324 and smaller packages f484 and larger packages pci express ? (pcie ? ) (1) 2.5 vv gbps ethernet (gbe) 1.25 vv common public radio interface ( cpri) 0.6144, 1.2288, 2.4576, and 3.072 v (2) v obsai 0.768, 1.536, and 3.072 v (2) v xaui 3.125 ? v serial digital interface (sdi) hd-sdi at 1.485 and 1.4835 3g-sdi at 2.97 and 2.967 ? v serial rapidio ? (srio) 1.25, 2.5, and 3.125 ? v serial advanced technology attachment (sata) (3) 1.5 and 3.0 ? v v-by-one (3) 3.0 ? v display port (3) 1.62 and 2.7 ? v notes to table 1?1 : (1) provides the physical interface for pci express (pipe)-compliant interface that supp orts gen1 1, 2, and 4 initial lane wi dth configurations. when implementing 1 or 2 interface, remaining channels in the transceiver block are available to im plement other protocols. (2) supports data rates up to 2.5 gbps only. (3) compliance to protocol specification is pending characterization. cyiv-52001-3.2
1?2 chapter 1: cyclone iv transceivers architecture transceiver architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation transceiver architecture cyclone iv gx devices offer either one or two transceiver blocks per device, depending on the package. each block consists of four full-duplex (transmitter and receiver) channels, located on the left side of the device (in a die-top view). figure 1?1 and figure 1?2 show the die-top view of the tran sceiver block and related resource locations in cyclone iv gx devices. figure 1?1. f324 and smaller packages with transceiver channels for cyclone iv gx devices note to figure 1?1 : (1) channel 2 and channel 3 are not avai lable in the f169 and smaller packages. figure 1?2. f484 and larger packages with transceiver channels for cyclone iv gx devices mpll_2 mpll_1 channel 3 (1) channel 2 (1) pcie hard ip f324 and smaller packages channel 1 channel 0 t r ansceive r block gxbl0 calibration block mpll_8 gpll_2 mpll_7 channel 3 channel 2 f484 and larger packages channel 1 channel 0 mpll_6 not applicable in f484 package mpll_5 calibration block channel 3 channel 2 gpll_1 pcie hard ip channel 1 channel 0 t r ansceive r block gxbl0 t r ansceive r block gxbl1
chapter 1: cyclone iv transceivers architecture 1?3 architectural overview ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 for more information about the transceive r architecture, refer to the following sections: ?architectural overview? on page 1?3 ?transmitter channel datapath? on page 1?4 ?receiver channel datapath? on page 1?10 ?transceiver clocking architecture? on page 1?24 ?transceiver channel datapath clocking? on page 1?26 ?fpga fabric-transceiver inte rface clocking? on page 1?39 ?calibration block? on page 1?41 ?pci-express hard ip block? on page 1?42 architectural overview figure 1?3 shows the cyclone iv gx transceiver channel datapath. each transceiver channel consists of a tr ansmitter and a receiver datapath. each datapath is further structured into the following: physical media attachment (pma)?includes analog circuitry for i/o buffers, clock data recovery (cdr), serializer/deserializer (serdes), and programmable pre-emphasis and equalization to opti mize serial data channel performance. physical coding sublayer (pcs)?includes hard logic implementation of digital functionality within the transceiver that is compliant with supported protocols. outbound parallel data from the fpga fabric flows through the transmitter pcs and pma, is transmitted as serial data. receiv ed inbound serial data flows through the receiver pma and pcs into the fpga fabric. the transceiver supports the following interface widths: fpga fabric-transceiver pcs?8, 10, 16, or 20 bits pma-pcs?8 or 10 bits figure 1?3. transceiver channel datapath for cyclone iv gx devices byte serializer 8b/10b encoder receive r channel pcs receive r channel pma t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie ha r d ip fpga fab r ic pipe in t e r face tx phase comp fifo tx_datain rx_dataout tx_dataout rx_datain wr_clk rd_clk deserial- izer cdr wr_clk rd_clk byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo word aligner rx phase comp fifo
1?4 chapter 1: cyclone iv transceivers architecture transmitter channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation f the transceiver channel interfaces through the pipe when configured for pcie protocol implementation. the pipe is compliant with version 2.00 of the phy interface for the pci express architecture specification. transmitter channel datapath the following sections describe the cyclone iv gx transmitter channel datapath architecture as shown in figure 1?3 : tx phase compensation fifo byte serializer 8b/10b encoder serializer transmitter output buffer tx phase compensation fifo the tx phase compensation fifo compensates for the phase difference between the low-speed parallel clock and the fpga fabric interface clock, when interfacing the transmitter channel to the fpga fabric (directly or through the pipe and pcie hard ip). the fifo is four words deep, with latency between two to three parallel clock cycles. figure 1?4 shows the tx phase compensation fifo block diagram. 1 the fifo can operate in registered mode, cont ributing to only one parallel clock cycle of latency in deterministic latency function al mode. for more information, refer to ?deterministic latency mode? on page 1?68 . for more information about fifo clocking, refer to ?fpga fabric-transceiver interface clocking? on page 1?39 . byte serializer the byte serializer divides the input data path width by two to allow transmitter channel operation at higher data rates while meeting the maximum fpga fabric frequency limit. this module is required in configurations that exceed the maximum fpga fabric-transceiver interface clock freq uency limit and optional in configurations that do not. figure 1?4. tx phase compensation fifo block diagram note to figure 1?4 : (1) the x refers to the supported 8-, 10-, 16-, or 20-bits tran sceiver channel width. tx_phase_comp_fifo_error tx phase compensation fifo w r_clk rd_clk tx_datain[x..0] (1) data o u tp u t to the b yte serializer or the 8 b/10b encoder
chapter 1: cyclone iv transceivers architecture 1?5 transmitter channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 f for the fpga fabric-transceiver interface frequency specifications, refer to the cyclone iv device data sheet . for example, when operating an ep4cgx 150 transmitter channel at 3.125 gbps without byte serializer, the fpga fabric fr equency is 312.5 mhz (3.125 gbps/10). this implementation violates the frequency limi t and is not supported. channel operation at 3.125 gbps is supported when byte se rializer is used, where the fpga fabric frequency is 156.25 mhz (3.125 gbps/20). the byte serializer forwards the least sign ificant byte first, followed by the most significant byte. 8b/10b encoder the optional 8b/10b encoder generates 10-bit code groups with proper disparity from the 8-bit data and 1-bit cont rol identifier as shown in figure 1?5 . f the encoder is compliant with clause 36 of the ieee 802.3 specification . the 1-bit control identifier ( tx_ctrlenable ) port controls the 8-bit translation to either a 10-bit data word (dx.y) or a 10-bit control word (kx.y). figure 1?6 shows the 8b/10b encoding operation with the tx_ctrlenable port, where the second 8'hbc data is encoded as a control word when tx_ctrlenable port is asserted, while the rest of the data is encoded as a data word. 1 the ieee 802.3 8b/10b encoder specification id entifies only a set of 8-bit characters for which the tx_ctrlenable port should be asserted. if you assert tx_ctrlenable port for any other set of char acters, the 8b/10b encoder might encode the output 10-bit code as an invalid code (it does not map to a valid dx.y or kx.y code), or an unintended valid dx.y code, depending on the value entered. it is possible for a downstream 8b/10b decoder to decode an invalid control word into a valid dx.y code without asserting any code error flags. altera recommends not to assert tx_ctrlenable port for unsupported 8-bit characters. figure 1?5. 8b/10b encoder block diagram figure 1?6. control and data word encoding with the 8b/10b encoder tx_ctrlena b le tx_forcedisp 8 b/10b encoder tx_dispval 10 8 tx_ctrlenable clock code group d3.4 d24.3 d28.5 k28.5 d0.0 d31.5 d28.1 d15.0 tx_datain[7..0] 83 78 bc bc 00 bf 3c 0f
1?6 chapter 1: cyclone iv transceivers architecture transmitter channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation the following describes the 8b/10b encoder behavior in reset condition (as shown in figure 1?7 ): during reset, the 8b/10b encoder ignores the inputs ( tx_datain and tx_ctrlenable ports) from the fpga fabric and outputs the k28.5 pattern from the rd- column continuously until the tx_digitalreset port is deasserted. upon deassertion of the tx_digitalreset port, the 8b/10b encoder starts with a negative disparity and transmits three k28.5 code groups for synchronization before it starts encoding and transmitting data on its output. due to some pipelining of the transmitte r pcs, some "don't cares" (10'hxxx) are sent before the three synchronizing k28.5 code groups. the encoder supports forcing the running disp arity to either posi tive or negative disparity with tx_forcedisp and tx_dispval ports. figure 1?8 shows an example of tx_forcedisp and tx_dispval port use, where data is shown in hexadecimal radix. in this example, a series of k28.5 code groups are continuously sent. the stream alternates between a positive disparity k2 8.5 (rd+) and a negative disparity k28.5 (rd-) to maintain a neutral overall disparit y. the current running disparity at time n + 1 indicates that the k28.5 in time n + 2 should be encoded with a negative disparity. because tx_forcedisp is high at time n + 2, and tx_dispval is low, the figure 1?7. 8b/10b encoder behavior in reset condition figure 1?8. force running disparity operation tx_digitalreset clock during reset dataout[9..0] k28.5- k28.5- k28.5- xxx xxx k28.5+ k28.5- k28.5- dx.y+ don?t cares after reset synchronization normal operation tx_ctrlenable clock n n + 1 n + 2 n + 3 n + 4 tx_forcedisp tx_disp v al current disparity rd- rd+ rd+ rd- rd- rd+ rd- rd+ dataout[9..0] 17c 283 17c 17c 283 283 txin[7..0] bc n + 5 n + 6 n + 7
chapter 1: cyclone iv transceivers architecture 1?7 transmitter channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 k28.5 at time n + 2 is encoded as a positive disparit y code group. in the same example, the current running disparity at time n + 5 indicates that the k28.5 in time n + 6 should be encoded with a positive disparity. because tx_forcedisp is high at time n + 6, and tx_dispval is high, the k28.5 at time n + 6 is encoded as a negative disparity code group. miscellaneous transmitter pcs features the transmitter pcs supports the following additional features: polarity inversion?corrects accidentally swapped positive and negative signals from the serial differential link during board layout by inverting the polarity of each bit. an optional tx_invpolarity port is available to dynamically invert the polarity of every bit of the 8-bit or 10-b it input data to the serializer in the transmitter datapath. figure 1?9 shows the transmitter po larity inversion feature. 1 tx_invpolarity is a dynamic signal and might cause initial disparity errors at the receiver of an 8b/10b encoded link. the downstream system must be able to tolerate these disparity errors. bit reversal?reverses the transmit bit order from lsb-to-msb (default) to msb-to-lsb at the input to the serializer . for example, input data to serializer d[7..0] is rewired to d[0..7] for 8-bit data width, and d[9..0] is rewired to d[0..9] for 10-bit data width. figure 1?10 shows the transmitter bit reversal feature. figure 1?9. transmitter polarity inversion con v erted data output to the transmitter serializer output from transmitter pcs 0 1 1 1 0 0 1 0 0 0 msb tx_in v polarity = high lsb 1 0 0 0 1 1 0 1 1 1 msb lsb
1?8 chapter 1: cyclone iv transceivers architecture transmitter channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation input bit-flip?reverses the bit order at a by te level at the input of the transmitter phase compensation fifo. for example, if the 16-bit parallel transmitter data at the tx_datain port is '10111100 10101101' (16'hbcad), selecting this option reverses the input data to the transmitte r phase compensation fifo to '00111101 10110101' (16'h3db5). bit-slip control?delays the data transmission by a number of specified bits to the serializer with the tx_bitslipboundaryselect port. for usage details, refer to the ?transmit bit-slip control? on page 1?70 . serializer the serializer converts the low-speed parallel 8-bit or 10-bit data from the transmitter pcs to high-speed serial data for the transm itter output buffer. the serializer operates with a high-speed clock at half of the seri al data rate. the serializer transmission sequence is lsb to msb. figure 1?10. transmitter bit reversal operation in basic single-width mode output from transmitter pcs con v erted data output to the transmitter serializer tx bit re v ersal option enabled in the altgx megawizard d[9] d[8] d[7] d[6] d[5] d[4] d[3] d[2] d[1] d[0] d[0] d[1] d[2] d[3] d[4] d[5] d[6] d[7] d[8] d[9]
chapter 1: cyclone iv transceivers architecture 1?9 transmitter channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 transmitter output buffer figure 1?11 shows the transmitter output buffer block diagram. the cyclone iv gx transmitter output buffers support the 1.5-v pcml i/o standard and are powered by vcch_gxb power pins with 2.5-v su pply. the 2.5-v supply on vcch_gxb pins are regulated internally to 1.5- v for the transmitter output buffers. the transmitter output buffers support the following additional features: programmable differential output voltage (v od )?customizes the v od up to 1200 mv to handle different trace leng ths, various backplanes, and various receiver requirements. programmable pre-emphasis?boosts high-frequency components in the transmitted signal to maximize the da ta eye opening at the far-end. the high-frequency components might be attenuated in the transmission media due to data-dependent jitter and intersymbol inte rference (isi) effects. the requirement for pre-emphasis increases as the data rates through legacy backplanes increase. programmable differential on-chip termination (oct)?provides calibrated oct at differential 100 ? or 150 ?? with on-chip transmitter common mode voltage (v cm ) at 0.65 v. v cm is tri-stated when you disable the oct to use external termination. 1 disable oct to use external termination if the link requires a 85 ? termination, such as when you are interfacing with certai n pcie gen1 or gen2 capable devices. f the cyclone iv gx transmitter output buffer s are current-mode drivers. the resulting v od voltage is therefore a function of the tr ansmitter termination value. for lists of supported v od settings, refer to the cyclone iv device data sheet . figure 1?11. transmitter output buffer block diagram note to figure 1?11 : (1) receiver detect function is specific for pcie protocol implementation only. for mo re information, refer to ?pci express (pipe) mode? on page 1?48 . gxb_txp gxb_txn programmable pre-emphasis and v od receiver detect (1) 50 ?? or 75 ? 50 ?? or 75 ? + v cm -
1?10 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation receiver channel datapath the following sections describe the cyclone iv gx receiver channel datapath architecture as shown in figure 1?3 on page 1?3 : ?receiver input buffer? on page 1?10 ?clock data recovery? on page 1?13 ?deserializer? on page 1?14 ?word aligner? on page 1?15 ?deskew fifo? on page 1?20 ?rate match fifo? on page 1?21 ?8b/10b decoder? on page 1?21 ?byte deserializer? on page 1?22 ?byte ordering? on page 1?22 ?rx phase compensation fifo? on page 1?23 receiver input buffer table 1?2 lists the electrical features supported by the cyclone iv gx receiver input buffer. the high-speed serial link can be ac- or dc-coupled, depending on the serial protocol implementation. in an ac-coupled link, the ac-coupling capacitor blocks the transmitter dc common mode voltage as shown in figure 1?12 . receiver oct and on-chip biasing circuitry automatically restores the common mode voltage. the biasing circuitry is also enabled by enabling oct. if you disable the oct, then you must externally terminate and bias the re ceiver. ac-coupled links are required for pcie, gbe, serial rapidio, sdi, xaui, sata, v-by-one and display port protocols. table 1?2. electrical features supported by the receiver input buffer i/o standard programmable common mode voltage (v) coupling 1.4-v pcml 0.82 ac, dc 1.5-v pcml 0.82 ac, dc 2.5-v pcml 0.82 ac lvpecl 0.82 ac lvds 0.82 ac, dc (1) note to table 1?2 : (1) dc coupling is supported for lvds with lower on-chip common mode voltage of 0.82 v.
chapter 1: cyclone iv transceivers architecture 1?11 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 in a dc-coupled link, the transmitter dc common mode voltage is seen unblocked at the receiver input buffer as shown in figure 1?13 . the link common mode voltage depends on the transmitter common mode voltage and the receiver common mode voltage. when using the receiver oct and on-chip biasing circuitry in a dc coupled link, you must ensure the transmitter common mode voltage is compatible with the receiver common mode requirements. if you disable the oct, you must terminate and bias the receiver externally and ensure co mpatibility between th e transmitter and the receiver common mode voltage. figure 1?12. ac-coupled link with oct figure 1?13. dc-coupled link with oct physical medi u m transmitter receiver tx v cm rx v cm tx termination rx termination ac co u pling capacitor ac co u pling capacitor physical medi u m transmitter receiver tx v cm rx v cm tx termination rx termination physical medi u m physical medi u m
1?12 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?14 shows the receiver input buffer block diagram. the receiver input buffers support the following features: programmable equalization?boosts the hi gh-frequency gain of the incoming signal up to 7 db. this compensates fo r the low-pass filter effects of the transmission media. the amount of high-f requency gain required depends on the loss characteristics of the physical medium. programmable dc gain?provides equal boost to incoming signal across the frequency spectrum with dc gain settings up to 6 db. programmable differential oct?pr ovides calibrated oct at 100 ? or 150 ?? with on-chip receiver common mode voltage at 0.82 v. the common mode voltage is tri- stated when you disable the oct to use external termination. offset cancellation?correct s the analog offset voltages that might exist from process variations between the positive an d negative differential signals in the equalizer stage and cdr circuit. signal detection?detects if the signal leve l present at the receiver input buffer is higher than the threshold with a built-in signal threshold detection circuitry. the circuitry has a hysteresis response that filters out any high-frequency ringing caused by isi effects or high-frequen cy losses in the transmission medium. detection is indicated by the assertion of the rx_signaldetect signal. signal detection is only supported when 8b/10b encoder/decoder block is enabled. when not supported, the rx_signaldetect signal is forced high, bypassing the signal detection function. 1 disable oct to use external termination if the link requires a 85 ? termination, such as when you are interfacing with certai n pcie gen1 or gen2 capable devices. f for specifications on programmable equalization and dc gain settings, refer to the cyclone iv device data sheet . figure 1?14. receiver input buffer block diagram receiver input buffer eq u alization and dc gain circ u itry to cdr rx_datain signal detect signal threshold detection circ u itry rx v cm 50 ?? or 75 ? 50 ? or 75 ?
chapter 1: cyclone iv transceivers architecture 1?13 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 clock data recovery each receiver channel has an independent cdr unit to recover the clock from the incoming serial data stream. the high-sp eed recovered clock is used to clock the deserializer for serial-to-para llel conversion of the received input data, and low-speed recovered clock to clock the receiver pcs blocks. figure 1?15 illustrates the cdr unit block diagram. each cdr unit gets the reference clock from one of the two multipurpose phase-locked loops (plls) adjacent to th e transceiver block. the cdr works by tracking the incoming data with a phase detector and finding the optimum sampling clock phase from the phase interpolator unit. the cdr operations are controlled by the ltr/ltd controller block, where the cdr may operate in the following states: lock-to-reference (ltr) state?phase detect or disabled and cdr ignores incoming data lock-to-data (ltd) state?phase detector enabled and cdr tracks incoming data to find the optimum sampling clock phase state transitions are supported with auto matic lock mode and manual lock mode. automatic lock mode upon receiver power-up and reset cycle, the cdr is put into ltr state. transition to the ltd state is performed automatically when both of the following conditions are met: signal detection circuitry indicates the presence of valid signal levels at the receiver input buffer. this condition is valid for pci express (pipe) mode only. cdr transitions are not dependent on sign al detection circuitry in other modes. figure 1?15. cdr unit block diagram (note 1) notes to figure 1?15 : (1) ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 d evices support optional wide r spread of asynchronous spread-spectrum clocking (ssc) with triangular freq uency modulation profile only . for the suppor ted ssc spread range, refer to the cyclone iv device data sheet . (2) optional rx local di vider for cdr clocks from multipurpose pll is only availabl e in each cdr unit for ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 devices. this block is u sed with the transceiver dynamic reconfiguration feature. for more information, refer to the cyclone iv dynamic reconfiguration chapter and an 609: implementing dynamic reconfiguration in cyclone iv gx devices . (3) cdr state transition in automati c lock mode is not dependent on rx_signaldetect signal, except when configured in pci express (pipe) mode only. rx_datain rx_fre q locked up down rx_signaldetect(3) low-speed reco v ered clock (for recei v er pcs) high-speed reco v ered clock (for deserializer) cdr clocks from mpll sampling clocks rx_locktorefclk rx_locktodata ltr/ltd controller phase detector clock di v ider phase interpolator /2 (2)
1?14 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation the recovered clock is within the configured part per million (ppm) frequency threshold setting with respect to the cdr clocks from multipurpose pll. actual lock time depends on the transition density of the incoming data and the ppm difference between the receiver input reference clock and the upstream transmitter reference clock. transition from the ltd state to the ltr st ate occurs when either of the following conditions is met: signal detection circuitry indicates the absence of valid signal levels at the receiver input buffer. this condition is valid for pci express (pipe) mode only. cdr transitions are not dependent on signal detection circuitry in other modes. the recovered clock is not within the configured ppm frequency threshold setting with respect to cdr clocks from multipurpose plls. in automatic lock mode, the switch from ltr to ltd states is indicated by the assertion of the rx_freqlocked signal and the switch from ltd to ltr states indicated by the de-assertion of the rx_freqlocked signal. manual lock mode state transitions are controlled manually by using rx_locktorefclk and rx_locktodata ports. the ltr/ltd controller sets the cdr state depending on the logic level on the rx_locktorefclk and rx_locktodata ports. this mode provides the flexibility to control the cdr for a reduced lock time compared to the automatic lock mode. in automatic lock mo de, the ltr/ltd controller relies on the ppm detector and the phase relationship dete ctor to set the cdr in ltr or ltd mode. the ppm detector and phase relationship dete ctor reaction times can be too long for some applications that require faster cdr lock time. in manual lock mode, the rx_freqlocked signal is asserted when the cdr is in ltd state and de-asserted when cdr is in ltr state. for descriptions of rx_locktorefclk and rx_locktodata port controls, refer to table 1?27 on page 1?80 . 1 if you do not enable the optional rx_locktorefclk and rx_locktodata ports, the quartus ii software auto matically configures the ltr/ltd controller in automatic lock mode. f the recommended transceiver reset sequence varies depending on the cdr lock mode. for more information about the reset sequence recommendations, refer to the reset control and power down for cyclone iv gx devices chapter. deserializer the deserializer converts received serial data from the receiver input buffer to parallel 8- or 10-bit data. serial data is assumed to be received from the lsb to the msb. the deserializer operates with the high-speed recovered clock from the cdr with the frequency at half of the serial data rate.
chapter 1: cyclone iv transceivers architecture 1?15 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 word aligner figure 1?16 shows the word aligner block diagram. the word aligner receives parallel data from the deserializer and restores the word boundary based on a pre-defined alignment pattern that must be received during link synchronization. the word aligner supports three operational modes as listed in table 1?3 . manual alignment mode in manual alignment mode, the rx_enapatternalign port controls the word aligner with either an 8- or 10-bit data width setting. the 8-bit word aligner is edge-sensitive to the rx_enapatternalign signal. a rising edge on rx_enapatternalign signal after deassertion of the rx_digitalreset signal triggers the word aligner to look for the word alignment pattern in the received data stream. it upda tes the word boundary if it finds the word alignment pattern in a new word boundary . any word alignment pattern received thereafter in a different word boundary causes the word aligner to re-align to the new word boundary only if there is a rising edge in the rx_enapatternalign signal. the 10-bit word aligner is level-sensitive to the rx_enapatternalign signal. the word aligner looks for the programmed 7-bi t or 10-bit word alignment pattern in the received data stream, if the rx_enapatternalign signal is held high. it updates the word boundary if it finds the word alignment pattern in a new word boundary. if the rx_enapatternalign signal is deasserted, the word aligner maintains the current word boundary even when it receives the word alignment pattern in a new word boundary. figure 1?16. word aligner block diagram table 1?3. word aligner modes modes pma-pcs interface widths allowed word alignment pattern lengths manual alignment 8-bit 16 bits 10-bit 7 or 10 bits bit-slip 8-bit 16 bits 10-bit 7 or 10 bits automatic synchronization state machine 10-bit 7 or 10 bits word aligner bit-slip circuitry synchronization state machine manual alignment rx_bitslipboundaryselectout run length v iolation rx_rl v parallel data to next pcs block rx_syncstatus rx_patterndetect recei v er polarity in v ersion rx_enapatternalign data from deserializer rx_bitslip rx_in v polarity rx_re v bitorderwa recei v er bit re v ersal
1?16 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation after updating the word boundary, word aligner status signals ( rx_syncstatus and rx_patterndetect ) are driven high for one parallel clock cycle synchronous to the most significant byte of the word alignment pattern. the rx_syncstatus and rx_patterndetect signals have the same latency as the datapath and are forwarded to the fpga fabric to indicate the word aligner status. any word alignment pattern received th ereafter in the same word boundary causes only the rx_patterndetect signal to go high for one clock cycle. figure 1?17 shows the manual alignment mode word aligner operation in 10-bit data width mode. in this example, a /k28.5/ (10'b0101111 100) is specified as the word alignment pattern. the word aligner aligns to the /k28 .5/ alignment pattern (red) in cycle n because the rx_enapatternalign signal is asserted high. the rx_syncstatus signal goes high for one clock cycle indicating al ignment to a new word boundary. the rx_patterndetect signal also goes high for one clock cycle to indicate initial word alignment. at time n + 1, the rx_enapatternalign signal is deasserted to instruct the word aligner to lock the current word boundary. the alignment pattern is detected again (gre en) in a new word boundary across cycles n + 2 and n + 3. the word aligner does not align to this new word boundary because the rx_enapatternalign signal is held low. the /k28.5/ word alignment pattern is dete cted again (blue) in the current word boundary during cycle n + 5 causing the rx_patterndetect signal to go high for one parallel clock cycle. 1 if the word alignment pattern is known to be unique and does not appear between word boundaries, you can hold the rx_enapatternalign signal constantly high because there is no possibility of false word alignment. if there is a possibility of the word alignment pattern occurring across word boundaries, you must control the rx_enapatternalign signal to lock the word boundary after the desired word alignment is achieved to avoid re-alignment to an incorrect word boundary. figure 1?17. word aligner in 10-bit manual alignment mode rx_enapatternalign rx_clock n n + 1 n + 2 n + 3 n + 4 rx_patterndetect rx_syncstatus rx_dataout[9..0] 111110000 msb lsb msb lsb 0101111100 111110000 1111001010 1000000101 111110000 0101111100 n + 5
chapter 1: cyclone iv transceivers architecture 1?17 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 bit-slip mode in bit-slip mode, the rx_bitslip port controls the word aligner operation. at every rising edge of the rx_bitslip signal, the bit-slip circuitry slips one bit into the received data stream, effectively shifting the word boundary by one bit. when the received data after bit-slipping matches the programmed word alignment pattern, the rx_patterndetect signal is driven high for one parallel clock cycle. 1 you can implement a bit-slip controller in the user logic that monitors either the rx_patterndetect signal or the receiver data output ( rx_dataout ), and controls the rx_bitslip port to achieve word alignment. figure 1?18 shows an example of the word aligne r configured in bit-slip mode. for this example, consider that 8'b111 10000 is received back-to-back and 16'b00001111000 11110 is specified as the word alignment pattern. a rising edge on the rx_bitslip signal at time n + 1 slips a single bit 0 at the msb position, forcing the rx_dataout to 8'b01111000. another rising edge on the rx_bitslip signal at time n + 5 forces rx_dataout to 8'b00111100. another rising edge on the rx_bitslip signal at time n + 9 forces rx_dataout to 8'b00011110. another rising edge on the rx_bitslip signal at time n + 13 forces the rx_dataout to 8'b00001111. at this instance, rx_dataout in cycles n + 12 and n + 13 is 8'b00011110 and 8'b00001111, respectively, which matches the specified 16-bit alignment pattern 16'b00001111000 11110. this results in the assertion of the rx_patterndetect signal. automatic synchronization state machine mode in automatic synchronization state mach ine mode, the word aligner achieves synchronization after receiving a specific number of synchronization code groups, and falls out of synchronization after receiv ing a specific number of erroneous code groups. this mode provides hysteresis during link synchronization, which is required by protocols such as pcie, gb e, xaui, and serial rapidio. 1 this mode is only supported using the 8b/10b encoded data with 10-bit input to the word aligner. figure 1?18. word aligner configured in bit-slip mode 01111000 n 11110000 00111100 00011110 00001111 rx_clkout rx_datain7..0] rx_dataout[7..0] rx_bitslip rx_patterndetect 11110000 n + 1 n + 2 n + 3 n + 4 n + 5 n + 6 n + 7 n + 8 n + 9 n + 10 n + 11 n + 12 n + 13 n + 14
1?18 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 1?4 lists the synchronization state machine parameters for the word aligner in this mode. after deassertion of the rx_digitalreset signal in automatic synchronization state machine mode, the word aligner starts l ooking for the word alignment pattern or synchronization code groups in the received data stream. when the programmed number of valid synchronization code gr oups or ordered sets are received, the rx_syncstatus signal is driven high to indicate that synchronization is acquired. the rx_syncstatus signal is constantly driven high until the programmed number of erroneous code groups are received wi thout receiving intermediate good groups; after which the rx_syncstatus signal is driven low. the word aligner indicates loss of synchronization ( rx_syncstatus signal remains low) until the programmed number of valid synchronization code groups are received again. in addition to restoring word boundaries, the word aligner supports the following features: programmable run length violation detectio n?detects consecutive 1s or 0s in the data stream, and asserts run length violation signal ( rx_rlv ) when a preset run length threshold (maximum number of consecutive 1s or 0s) is detected. the rx_rlv signal in each channel is clocked by its parallel recovered clock and is asserted for a minimum of two recovered clock cycles to ensure that the fpga fabric clock can latch the rx_rlv signal reliably because the fpga fabric clock might have phase differences, ppm differences (in asynchronous systems), or both, with the recovered clock. table 1?5 lists the run length vi olation circuit detection capabilities. receiver polarity inversion?corrects a ccidental swapped positive and negative signals from the serial differential link during board layout. this feature works by inverting the polarity of every bit of th e input data word to the word aligner, which has the same effect as swapping the positive and negative signals of the differential link. inversion is dynamically controlled using rx_invpolarity port. figure 1?19 shows the receiver polarity inversion feature. table 1?4. synchronization state machine parameters parameter allowed values number of valid synchronization code groups or ordered sets received to achieve synchronization 1?256 number of erroneous code groups received to lose synchronization 1?64 number of continuous good code groups received to reduce the error count by one 1?256 table 1?5. run length violation circuit detection capabilities supported data width detector range increment step settings minimum maximum 8-bit 4 128 4 10-bit 5 160 5
chapter 1: cyclone iv transceivers architecture 1?19 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the generic receiver polarity inversion feature is different from the pci express (pipe) 8b/10b polarity inversion feature. the ge neric receiver polarity inversion feature inverts the polarity of the data bits at the input of the word aligne r and is not available in pci express (pipe) mode. the pci express (pipe) 8b/10b polarity inversion feature inverts the polarity of the data bits at the input of the 8b/10b decoder and is available only in pci express (pipe) mode. 1 the rx_invpolarity signal is dynamic and might cause initial disparity errors in an 8b/10b encoded link. the downstream sy stem must be able to tolerate these disparity errors. receiver bit reversal?by default, the cycl one iv gx receiver assumes lsb to msb transmission. if the link transmission order is msb to lsb, the receiver forwards the incorrect reverse bit-ordered version of the parallel data to the fpga fabric on the rx_dataout port. the receiver bit reversal feature is available to correct this situation. this feature is static in manual alignment and automatic synchronization state machine mode. in bit-slip mode, you can dynamically enable the receiver bit reversal using the rx_revbitorderwa port. when enabled, the 8-bit or 10-bit data d[7..0] or d[9..0] at the output of the word aligner is rewired to d[0..7] or d[0..9] respectively. figure 1?20 shows the receiver bit reversal feature. figure 1?19. receiver polarity inversion input to word aligner output from deserializer 0 1 1 1 0 0 1 0 0 0 msb rx_in v polarity = high lsb 1 0 0 0 1 1 0 1 1 1 msb lsb
1?20 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation 1 when using the receiver bit reversal feature to receive msb-to-lsb transmission, reversal of the word alignment pattern is required. receiver bit-slip indicator?provides th e number of bits slipped in the word aligner for synchronization with rx_bitslipboundaryselectout signal. for usage details, refer to ?receive bit-slip indication? on page 1?70 . deskew fifo this module is only available when used for the xaui protocol and is used to align all four channels to meet the maximum skew requirement of 40 ui (12.8 ns) as seen at the receiver of the four lanes. the deskew operation is compliant to the pcs deskew state machine diagram specified in clause 48 of the ieee p802.3ae specification. the deskew circuitry consists of a 16-word deep deskew fifo in each of the four channels, and control logics in the central control unit of the transceiver block that controls the deskew fifo write and read operations in each channel. for details about the deskew fifo operations for channel deskewing, refer to ?xaui mode? on page 1?61 . figure 1?20. receiver bit reversal (note 1) note to figure 1?20 : (1) the rx_revbitordwa port is dynamic and is only available when the word aligner is configur ed in bit-slip mode. output of word aligner before rx bit re v ersal output of word aligne r after rx bit re v ersal rx_re v bitordwa (1) = high d[9] d[8] d[7] d[6] d[5] d[4] d[3] d[2] d[1] d[0] d[0] d[1] d[2] d[3] d[4] d[5] d[6] d[7] d[8] d[9]
chapter 1: cyclone iv transceivers architecture 1?21 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 rate match fifo in asynchronous systems, the upstream tran smitter and local receiver can be clocked with independent reference clocks. frequency differences in the order of a few hundred ppm can corrupt the data when latching from the recovered clock domain (the same clock domain as the upstream transmitter reference clock) to the local receiver reference clock domain. figure 1?21 shows the rate match fifo block diagram. the rate match fifo compensates for small clock frequency differences of up to 300 ppm (600 ppm total) between the upstream transmitter and the local receiver clocks by performing the following functions: insert skip symbols when the local receiver reference clock frequency is greater than the upstream transmitter reference clock frequency delete skip symbols when the local receiver reference clock frequency is less than the upstream transmitter reference clock frequency the 20-word deep rate match fifo and logics control insertion and deletion of skip symbols, depending on the ppm difference. the operation begins after the word aligner synchronization status ( rx_syncstatus ) is asserted. 1 rate match fifo is only supported with 8b/10b encoded data and the word aligner in automatic synchronization state machine mode. 8b/10b decoder the 8b/10b decoder receives 10-bit data and decodes it into an 8-bit data and a 1-bit control identifier. the decoder is compli ant with clause 36 of the ieee 802.3 specification. figure 1?22 shows the 8b/10b decoder block diagram. figure 1?21. rate match fifo block diagram rate match fifo (20- w ord deep) 10 rx_rmfifodatainserted rx_rmfifodatadeleted rx_fifoempty rx_rmfifof u ll 10 figure 1?22. 8b/10b decoder block diagram 8 b/10b decoder 8 rx_ctrldetect rx_errdetect rx_disperr rx_r u nningdisp 10
1?22 chapter 1: cyclone iv transceivers architecture receiver channel datapath cyclone iv device handbook, volume 2 ? december 2010 altera corporation byte deserializer the byte deserializer halves the fpga fa bric-transceiver interface frequency while doubles the parallel data width to the fpga fabric. for example, when operating an ep4cgx150 receiver channel at 3.125 gbps with deserialization factor of 10, the receiver pcs datapath runs at 312.5 mhz. the byte deserializer converts the 10-bit data at 312.5 mhz into 20-bit data at 156.25 mhz before forwarding the data to the fpga fabric. byte ordering in the 16- or 20-bit fpga fabric-transceiver interface, the byte deserializer receives one data byte (8 or 10 bits) and deserializes it into two data bytes (16 or 20 bits). depending on when the receiver pcs logic come s out of reset, the byte ordering at the output of the byte deserializer may not match the original byte ordering of the transmitted data. the byte misalignment resulting from byte deserialization is unpredictable because it depends on whic h byte is being received by the byte deserializer when it comes out of reset. figure 1?23 shows a scenario where the most sign ificant byte and the least significant byte of the two-byte transm itter data appears straddled across two word boundaries after the data is deserialized at the receiver. the byte ordering block restores the pr oper byte ordering by performing the following actions: look for the user-programmed byte orderi ng pattern in the byte-deserialized data inserts a user-programmed pad byte if the user-programmed byte ordering pattern is found in the most significant byte position you must select a byte ordering pattern that you know appears at the least significant byte position of the parallel transmitter data. the byte ordering block is supported in the following receiver configurations: 16-bit fpga fabric-transceiver interface, 8b/10b disabled, and the word aligner in manual alignment mode. program a custom 8-bit byte ordering pattern and 8-bit pad byte. 16-bit fpga fabric-transceiver interface, 8b/10b enabled, and the word aligner in automatic synchronization state machine mode. program a custom 9-bit byte ordering pattern and 9-bit pad byte. the msb of the 9-bit byte ordering pattern and pad byte represents the control id entifier of the 8b/10b decoded data. figure 1?23. example of byte deserializer at the receiver byte serializer byte deserializer transmitter receiver d2 d1 tx_datain[15.. 8 ] tx_datain[7..0] rx_datao u t[15.. 8 ] rx_datao u t[7..0] d2 d1 d2 xx d1 d2 d3 d4 d5 d6 xx d1 d1 xx d3 d2 d5 d4 xx d6
chapter 1: cyclone iv transceivers architecture 1?23 receiver channel datapath ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the byte ordering block operates in either word-alignment-based byte ordering or user-controlled byte ordering modes. in word-alignment-based byte ordering mode , the byte ordering block starts looking for the byte ordering pattern in the byte-d eserialized data and restores the order if necessary when it detects a rising edge on the rx_syncstatus signal. whenever the byte ordering pattern is found, the rx_byteorderalignstatus signal is asserted regardless if the pad byte insertion is necessary. if the byte ordering block detects another rising edge on the rx_syncstatus signal from the word aligner, it deasserts the rx_byteorderalignstatus signal and repeats the byte ordering operation. in user-controlled byte ordering mode, the byte ordering operation is user-triggered using rx_enabyteord port. a rising edge on rx_enabyteord port triggers the byte ordering block to start looking for the byte ordering pattern in the byte-deserialized data and restores the order if necessary. when the byte ordering pattern is found, the rx_byteorderalignstatus signal is asserted regardless if a pad byte insertion is necessary. rx phase compensation fifo the rx phase compensation fifo compensates for the phase difference between the parallel receiver clock and the fpga fabric interface clock, when interfacing the receiver channel to the fpga fabric (directly or through the pipe and pcie hard ip blocks). the fifo is four words deep, with latency between two to three parallel clock cycles. figure 1?24 shows the rx phase compensation fifo block diagram. 1 the fifo can operate in registered mode, cont ributing to only one parallel clock cycle of latency in the deterministic latency func tional mode. for more information, refer to ?deterministic latency mode? on page 1?68 . for more information about fifo clocking, refer to ?fpga fabric-transceiver interface clocking? on page 1?39 . miscellaneous receiver pcs feature the receiver pcs supports the following additional feature: output bit-flip?reverses the bit order at a byte level at the output of the receiver phase compensation fifo. for example, if th e 16-bit parallel receiver data at the output of the receiver phase compensation fifo is '10111100 10101101' (16'hbcad), enabling this op tion reverses the data on rx_dataout port to '00111101 10110101' (16'h3db5). figure 1?24. rx phase compensation fifo block diagram note to figure 1?24 : (1) parameter x refers to the tr ansceiver channel width, where 8, 10, 16, or 20 bits are supported. rx phase compensation fifo rx_datao u t[x..0] (1) rx_phase_comp_fifo_error w r_clk rd_clk
1?24 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation transceiver clocking architecture the multipurpose plls and general-purpose plls located on the left side of the device generate the clocks required for the transceiver operation. the following sections describe the cyclone iv gx transceiver clocking architecture: ?input reference clocking? on page 1?24 ?transceiver channel datapath clocking? on page 1?26 ?fpga fabric-transceiver inte rface clocking? on page 1?39 input reference clocking when used for transceiver, the left plls synthesize the input reference clock to generate the required clocks for the transceiver channels. figure 1?25 and figure 1?26 show the sources of input reference clocks for plls used in the transceiver operation. 1 clock output from plls in the fpga core cannot feed into plls used by the transceiver as input reference clock. figure 1?25. pll input reference clocks in transceiver operation for f324 and smaller packages (note 1) , (2) notes to figure 1?25 : (1) the refclk0 and refclk1 pins are dual-purpose clk , refclk , or diffclk pins that reside in banks 3a and 8a respectively. (2) using any clock input pins other th an the designated refclk pins as shown here to drive the mplls may have reduced jitter performance. transcei v er block gxbl0 mpll_2 refclk1 refclk0 mpll_1
chapter 1: cyclone iv transceivers architecture 1?25 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the input reference clocks reside in ba nks 3a, 3b, 8a, and 8b have dedicated v cc_clkin3a , v cc_clkin3b , v cc_clkin8a , and v cc_clkin8b power supplies separately in their respective i/o banks to avoid the different power level requirements in the same bank for general purpose i/os (gpios). table 1?6 lists the supported i/o standard for the refclk pins. figure 1?26. pll input reference clocks in transceiver operation for f484 and larger packages (note 1) , (2) , (3) notes to figure 1?26 : (1) the refclk2 and refclk3 pins are dual-purpose clkio , refclk , or diffclk pins that reside in banks 3a and 8a respectively. (2) the refclk[1..0] and refclk[5..4] pins are dual-purpose differential refclk or diffclk pins that reside in banks 3b and 8b respectivel y. these clock input pins do not have access to the clock control blocks and gclk networks. for more details, refer to the clock networks and plls in cyclone iv devices chapter. (3) using any clock input pins other th an the designated refclk pins as shown here to drive the mplls and gplls may have reduced jitter performance. transcei v er block gxbl1 mpll_8 refclk3 refclk[1..0] mpll_7 transcei v er block gxbl0 mpll_6 mpll_5 refclk[5..4] refclk2 gpll_1 gpll_2 not applicable in f484 package table 1?6. refclk i/o standard support i/o standard hssi protocol coupling termination vcc_clkin level i/o pin type input output column i/o row i/o supported banks lvds all differential ac (needs off-chip resistor to restore v cm ) off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b lvpecl all off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b 1.2 v, 1.5 v, 3.3 v pcml all off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b all off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b all off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b hcsl pcie differential dc off-chip 2.5 v not supported yes no 3a, 3b, 8a, 8b
1?26 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?27 shows an example of the termination scheme for ac-coupled connections for refclk pins. figure 1?28 shows an example termination scheme for the refclk pin when configured as a hcsl input. transceiver channel datapath clocking channel datapath clocking varies with channel configuration options and pcs configurations. this section describes the clock distribution from the left plls for transceiver channels and the datapath cloc king in various supported configurations. table 1?7 lists the clocks generated by the plls for transceiver datapath. figure 1?27. ac-coupled termination scheme for a reference clock note to figure 1?27 : (1) v icm can be sourced from the 2.5-v supply with a voltage divider circui t (typically two 1-k ? resistors). figure 1?28. termination scheme for a reference clock when configured as hcsl (note 1) notes to figure 1?28 : (1) no biasing is required if the referen ce clock signals are generated from a cl ock source that conforms to the pcie specification. (2) select values as recommended by the pcie clock source vendor. z 0 = 50 z 0 = 50 50 lvd s , lvpecl, pcml (1.2 v, 1.5 v, 3.3 v) 50 cyclone iv gx refclk 0.1 f 0.1 f v icm pci express (hcsl) refclk so u rce refclk + refclk - cyclone iv gx rs rs 50 50 (2) (2) table 1?7. pll clocks for transceiver datapath clock usage cdr clocks receiver cdr unit high-speed clock transmitter serializer block in pma low-speed clock transmitter pcs blocks receiver pcs blocks when rate match fifo enabled
chapter 1: cyclone iv transceivers architecture 1?27 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the cdr unit in each receiver channel ge ts the cdr clocks from one of the two multipurpose plls directly adjacent to the transceiver block. the cdr clocks distribution network is segmented by bidirectional tri-state buffers as shown in figure 1?29 and figure 1?30 . this requires the cdr clocks from either one of the two multipurpose plls to drive a number of contiguous segmented paths to reach the intended receiver channel. interleaving the cdr clocks from the two multipurpose plls is not supported. for example, based on figure 1?29 , a combination of mpll_1 driving receiver channels 0, 1, and 3, while mpll_2 driving receiver channel 2 is not supported. in this case, only one multipurpose pll can be used for the receiver channels. figure 1?29. cdr clocking for transceiver channels in f324 and smaller packages note to figure 1?29 : (1) transceiver channels 2 and 3 are not available fo r devices in f169 and smaller packages. figure 1?30. cdr clocking for transceiver channels in f484 and larger packages transcei v er block gxbl0 cdr clocks mpll_2 cdr cdr cdr cdr ch3 (1) mpll_1 ch2 (1) ch1 ch0 not applicable in f484 package transcei v er block gxbl1 cdr clocks mpll_8 cdr cdr cdr cdr mpll_7 ch1 ch0 transcei v er block gxbl0 cdr clocks mpll_6 cdr cdr cdr cdr ch3 mpll_5 ch2 ch3 ch2 ch1 ch0
1?28 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation 1 in any configuration, a receiver channel ca nnot source cdr clocks from other plls beyond the two multipurpose plls directly adjacent to transceiver block where the channel resides. the cyclone iv gx transceivers support non-bonded (1) and bonded (2 and 4) channel configurations. the tw o configurations differ in regards to clocking and phase compensation fifo control. bonded configuration provides a relatively lower channel-to-channel skew between the bo nded channels than in non-bonded configuration. table 1?8 lists the supported conditions in non-bonded and bonded channel configurations. non-bonded channel configuration in non-bonded channel configuration, th e high- and low-speed clocks for each channel are sourced independently. the phase compensation fifos in each channel has its own pointers and control logic. when implementing multi-channel serial interface in non-bonded channel configurat ion, the clock skew and unequal latency results in larger channel-to-channel skew. 1 altera recommends using bonded cha nnel configuration (2 or 4) when implementing multi-channel serial interface for a lower channel-to-channel skew. in a transceiver block, the high- and low-sp eed clocks for each channel are distributed primarily from one of the two multipurpose plls directly adjacent to the block. transceiver channels for devices in f484 and larger packages support additional clocking flexibility. in these packages, some channels support high-speed and low- speed clock distribution from plls beyond the two multipurpose plls directly adjacent to the block. table 1?8. supported conditions in non-bonded and bonded channel configurations channel configuration description supported channel operation mode non-bonded (1) low-speed clock in each channel is sourced independently phase compensation fifo in each channel has its own pointers and control logic transmitter only receiver only transmitter and receiver bonded (2 and 4) low-speed clock in each bonded channel is sourced from a common bonded clock path for lower channel-to-channel skew phase compensation fifos in bonded channels share common pointers and control logic for equal latency through the fifos in all bonded channels 2 bonded configuration is supported with channel 0 and channel 1 in a transceiver block 4 bonded configuration is supported with all four channels in a transceiver block transmitter only transmitter and receiver
chapter 1: cyclone iv transceivers architecture 1?29 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 table 1?9 lists the high- and low-speed clock sources for each channel. figure 1?31 and figure 1?32 show the high- and low-speed clock distribution for transceivers in f324 and smaller packages , and in f484 and larger packages in non-bonded channel configuration. table 1?9. high- and low-speed clock sources for each channel in non-bonded channel configuration package transceiver block transceiver channel high- and low-speed clocks sources option 1 option 2 f324 and smaller gxbl0 all channels mpll_1 mpll_2 f484 and larger gxbl0 channels 0, 1 mpll_5/gpll_1 mpll_6 channels 2, 3 mpll_5 mpll_6/mpll_7 (1) gxbl1 (1) channels 0, 1 mpll_7/mpll_6 mpll_8 channels 2, 3 mpll_7 mpll_8/gpll_2 note to table 1?9 : (1) mpll_7 and gxbl1 are not applicable for tr ansceivers in f484 package figure 1?31. clock distribution in non-bonded channel configuration for transceivers in f324 and smaller packages notes to figure 1?31 : (1) transceiver channels 2 and 3 are not available fo r devices in f169 and smaller packages. (2) high-speed clock. (3) low-speed clock. transcei v er block gxbl0 mpll_2 tx pma tx pma tx pma tx pma ch3 (1) mpll_1 ch2 (1) ch1 ch0 (3) (2)
1?30 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation the transceiver datapath clocking varies in non-bonded channel configuration depending on the pcs configuration. figure 1?33 shows the datapath clocking in transm itter only operation. in this mode, each channel selects the high- and low-spee d clock from one of the supported plls. the high-speed clock feeds to the serializer for parallel to serial operation. the low-speed clock feeds to the following blocks in the transmitter pcs: 8b/10b encoder read clock of the byte serializer read clock of the tx phase compensation fifo when the byte serializer is enabled, the low-speed clock frequency is halved before feeding into the read clock of tx phase compensation fifo. the low-speed clock is available in the fpga fabric as tx_clkout port, which can be used in the fpga fabric to send transmitte r data and control signals. figure 1?32. clock distribution in non-bonded channel configuration for transceivers in f484 and larger packages notes to figure 1?32 : (1) high-speed clock. (2) low-speed clock. (3) these plls have restricted clock driving capability and may not reach all connected channels. fo r details, refer to table 1?9 . not applicable in f484 package transcei v er block gxbl1 mpll_8 tx pma tx pma tx pma tx pma ch3 mpll_7 ch2 ch3 ch2 ch1 ch0 (1) (2) (1) (2) transcei v er block gxbl0 mpll_6 tx pma tx pma tx pma tx pma mpll_5 gpll_2 gpll_1 ch1 ch0 (3) (3) (3) (3)
chapter 1: cyclone iv transceivers architecture 1?31 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 1?34 shows the datapath clocki ng in receiver only operation. in this mode, the receiver pcs supports configuration withou t the rate match fifo. the cdr unit in the channel recovers the clock from the received serial data and generates the high- speed recovered clock for the deserializer, and low-speed recovered clock for forwarding to the receiver pcs. the low-speed recovered clock feeds to the following blocks in the receiver pcs: word aligner 8b/10b decoder write clock of by te deserializer byte ordering write clock of rx phase compensation fifo when the byte deserializer is enabled, the low-speed recovered clock frequency is halved before feeding into the write clock of the rx phase compensation fifo. the low-speed recovered clock is available in the fpga fabric as rx_clkout port, which can be used in the fpga fabric to ca pture receiver data and status signals. when the transceiver is configured for transmitter and receiver operation in non-bonded channel configuration, the rece iver pcs supports configuration with and without the rate match fifo. the difference is only at the receiver datapath clocking. the transmitter datapath clocking is identi cal to transmitter only operation mode as shown in figure 1?33 . figure 1?33. transmitter only datapath clocking in non-bonded channel configuration byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie ha r d ip fpga fab r ic pipe in t e r face tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk tx_clkout /2 figure 1?34. receiver only datapath clocking without rate match fifo in non-bonded channel configuration note to figure 1?34 : (1) high-speed recovered clock. rx_coreclk receive r channel pcs receive r channel pma fpga fab r ic rx_dataout rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo pcie ha r d ip pipe in t e r face cdr clock low-speed reco v ered clock rx_clkout /2 (1) word aligner rx phase comp fifo
1?32 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?35 shows the datapath clocking in th e transmitter and receiver operation mode with the rate match fifo. the receiver datapath clocking in configuration without the rate match fifo is identical to figure 1?34 . in configuration with the rate match fifo, the cdr unit in the receiver channel recovers the clock from received serial da ta and generates the high-speed recovered clock for the deserializer, and low-speed recovered clock for forwarding to the receiver pcs. the low-speed recovered cloc k feeds to the following blocks in the receiver pcs: word aligner write clock of rate match fifo the low-speed clock that is used in the transmitter pcs datapath feeds the following blocks in the receiver pcs: read clock of rate match fifo 8b/10b decoder write clock of by te deserializer byte ordering write clock of rx phase compensation fifo when the byte deserializer is enabled, the low-speed clock frequency is halved before feeding into the write clock of rx phase compensation fifo. the low-speed clock is available in the fpga fabric as tx_clkout port, which can be used in the fpga fabric to send transmitter data and contro l signals, and capture receiver data and status signals. figure 1?35. transmitter and receiver datapath clocking with rate match fifo in non-bonded channel configuration notes to figure 1?35 : (1) low-speed recovered clock. (2) high-speed recovered clock. (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie ha r d ip fpga fab r ic pipe in t e r face tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk tx_clkout /2 rx_coreclk receive r channel pcs receive r channel pma rx_dataout rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 (2) word aligner rx phase comp fifo
chapter 1: cyclone iv transceivers architecture 1?33 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 bonded channel configuration in bonded channel configuration, the low-sp eed clock for the bonded channels share a common bonded clock path that reduces clock skew between the bonded channels. the phase compensation fifos in bonded cha nnels share a set of pointers and control logic that results in equal fifo latency be tween the bonded channels. these features collectively result in lower channe l-to-channel skew when implementing multi-channel serial interface in bonded channel configuration. in a transceiver block, the high-speed clock for each bonded channels is distributed independently from one of the two multipurpo se plls directly adjacent to the block. the low-speed clock for bonded channels is distributed from a common bonded clock path that selects from one of the two multipur pose plls directly adjacent to the block. transceiver channels for devices in f484 and larger packages support additional clocking flexibility for 2 bonded channels. in these packages, the 2 bonded channels support high-speed and low-speed bonded cl ock distribution from plls beyond the two multipurpose plls directly adjacent to the block. table 1?10 lists the high- and low-speed clock sources for the bonded channels. table 1?10. high- and low-speed clock sources for bonded channels in bonded channel configuration package transceiver block bonded channels high- and low-speed clocks source option 1 option 2 f324 and smaller gxbl0 2 in channels 0, 1 4 in all channels mpll_1 mpll_2 f484 and larger gxbl0 2 in channels 0, 1 mpll_5/ gpll_1 mpll_6 4 in all channels mpll_5 mpll_6 gxbl1 (1) 2 in channels 0, 1 mpll_7/ mpll_6 mpll_8 4 in all channels mpll_7 mpll_8 note to table 1?10 : (1) gxbl1 is not available for tran sceivers in f484 package.
1?34 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation 1 when implementing 2 bonded channel configuration in a transceiver block, remaining channels 2 and 3 are available to implement other non-bonded channel configuration. figure 1?36 and figure 1?37 show the independent high-speed clock and bonded low-speed clock distributions for transceive rs in f324 and smaller packages, and in f484 and larger packages in bonded (2 and 4) channel configuration. figure 1?36. clock distribution in bonded (2 and 4) channel configuration for transceivers in f324 and smaller packages. notes to figure 1?36 : (1) transceiver channels 2 and 3 are not available fo r devices in f169 and smaller packages. (2) high-speed clock. (3) low-speed clock. (4) bonded common low- speed clock path. transcei v er block gxbl0 2 bonded channel configuration + mpll_2 tx pma tx pma tx pma tx pma ch3 (1) mpll_1 ch2 (1) ch1 ch0 (3) (4) (4) (2) transcei v er block gxbl0 4 bonded channel configuration + mpll_2 tx pma tx pma tx pma tx pma ch3 (1) mpll_1 ch2 (1) ch1 ch0 (3) (2)
chapter 1: cyclone iv transceivers architecture 1?35 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the channel datapath clocking is similar between bonded channels in 2 and 4 configurations. figure 1?38 shows the datapath clocking in tran smitter only operation for 2 and 4 bonded configurations. in these configur ations, each bonded channel selects the high-speed clock from one the supported p lls. the high-speed clock in each bonded channel feeds the respective serializer for parallel to serial operation. the common bonded low-speed clock feeds to each bonded channel that is used for the following blocks in each transmitter pcs channel: 8b/10b encoder read clock of byte serializer read clock of tx phase compensation fifo figure 1?37. clock distribution in bonded (2 and 4) channel configuration for transceivers in f324 and smaller packages notes to figure 1?37 : (1) high-speed clock. (2) low-speed clock. (3) bonded common low- speed clock path. (4) these plls have restricted clock driv ing capability and may not reach all conn ected channels. for details, refer to table 1?10 . (3) not applicable in f484 package transcei v er block gxbl1 mpll_8 mpll_7 (1) (2) (1) (2) transcei v er block gxbl0 mpll_6 mpll_5 gpll_2 gpll_1 (4) (4) 2 bonded channel configuration + 4 bonded channel configuration + tx pma tx pma tx pma tx pma ch3 ch2 ch3 ch2 ch1 ch0 tx pma tx pma tx pma tx pma ch1 ch0 (3) (3) not applicable in f484 package transcei v er block gxbl1 mpll_8 mpll_7 (1) (2) (1) (2) transcei v er block gxbl0 mpll_6 mpll_5 tx pma tx pma tx pma tx pma ch3 ch2 ch3 ch2 ch1 ch0 tx pma tx pma tx pma tx pma ch1 ch0 (3)
1?36 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation when the byte serializer is enabled, the common bonded low-speed clock frequency is halved before feeding to the read clock of tx phase compensation fifo. the common bonded low-speed clock is available in fpga fabric as coreclkout port, which can be used in fpga fabric to send transmit ter data and control signals to the bonded channels. 1 bonded channel configuration is not availa ble for receiver only channel operation because each of the channe ls are individually clocked by its recovered clock. for transmitter and receiver operation in bonded channel configuration, the receiver pcs supports configuration with rate matc h fifo, and configuration without rate match fifo. figure 1?39 shows the datapath clocking in transmitter and receiver operation with rate match fifo in 2 an d 4 bonded channel configurations. for transmitter and receiver operation in bo nded channel configuration without rate match fifo, the datapath clocking is identical to figure 1?38 for the bonded transmitter channels, and figure 1?34 on page 1?31 for the receiver channels. figure 1?38. transmitter only datapath clocking in bonded channel configuration byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 3 t r ansmi tt e r channel pma 3 serializer pcie ha r d ip fpga fab r ic pipe in t e r face tx phase comp fifo wr_clk rd_clk wr_clk rd_clk high-speed clock tx_dataout[3] coreclkout in 2 bonded channel configu r a t ion + tx_coreclk[3] byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 2 t r ansmi tt e r channel pma 2 serializer tx phase comp fifo wr_clk rd_clk wr_clk rd_clk high-speed clock /2 /2 tx_dataout[2] tx_coreclk[2] byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 1 t r ansmi tt e r channel pma 1 serializer tx phase comp fifo wr_clk rd_clk wr_clk rd_clk high-speed clock /2 tx_dataout[1] tx_coreclk[1] byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 0 t r ansmi tt e r channel pma 0 serializer tx phase comp fifo wr_clk rd_clk wr_clk rd_clk high-speed clock /2 tx_dataout[0] tx_coreclk[0] in 4 bonded channel configu r a t ion + /2 low-speed clock
chapter 1: cyclone iv transceivers architecture 1?37 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 1?39. transmitter and receiver datapath clocking with rate match fifo in bonded channel configuration notes to figure 1?39 : (1) low-speed recovered clock. (2) high-speed recovered clock. in 2 bonded channel configu r a t ion + (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 3 t r ansmi tt e r channel pma 3 serializer pcie ha r d ip fpga fab r ic pipe in t e r face tx phase comp fifo tx_dataout[3] wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk[3] /2 rx_coreclk[3] receive r channel pcs 3 receive r channel pma 3 rx_datain[3] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 (2) word aligner rx phase comp fifo (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 2 t r ansmi tt e r channel pma 2 serializer tx phase comp fifo tx_dataout[2] wr_clk rd_clk wr_clk rd_clk high-speed clock tx_coreclk[2] /2 rx_coreclk[2] receive r channel pcs 2 receive r channel pma 2 rx_datain[2] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 (2) word aligner rx phase comp fifo (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 1 t r ansmi tt e r channel pma 1 serializer tx phase comp fifo tx_dataout[1] wr_clk rd_clk wr_clk rd_clk high-speed clock tx_coreclk[1] /2 rx_coreclk[1] receive r channel pcs 1 receive r channel pma 1 rx_datain[1] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 (2) word aligner rx phase comp fifo (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 0 t r ansmi tt e r channel pma 0 serializer tx phase comp fifo tx_dataout[0] wr_clk rd_clk wr_clk rd_clk high-speed clock tx_coreclk[0] /2 rx_coreclk[0] receive r channel pcs 0 receive r channel pma 0 rx_datain[0] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 (2) word aligner rx phase comp fifo coreclkout /2 in 4 bonded channel configu r a t ion +
1?38 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation in configuration with rate match fifo, the transmitter datapath clocking is identical to transmitter only operation as shown in figure 1?38 . in each bonded receiver channel, the cdr unit recovers the clock fr om serial received data and generates the high- and low-speed recovered clock for each bonded channel. the high-speed recovered clock feeds the channel's deseri alizer, and low-speed recovered clock is forwarded to receiver pcs. the individual low-speed recovered clock feeds to the following blocks in the receiver pcs: word aligner write clock of rate match fifo the common bonded low-speed clock that is used in all bonded transmitter pcs datapaths feeds the following blocks in each bonded receiver pcs: read clock of rate match fifo 8b/10b decoder write clock of by te deserializer byte ordering write clock of rx phase compensation fifo when the byte deserializer is enabled, the common bonded low-speed clock frequency is halved before feeding to the write clock of rx phase compensation fifo. the common bonded low-speed clock is available in fpga fabric as coreclkout port, which can be used in fpga fabric to send transmitter data and control signals, and capture receiver data and status signals from the bonded channels.
chapter 1: cyclone iv transceivers architecture 1?39 transceiver clocki ng architecture ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 fpga fabric-transceiv er interface clocking the fpga fabric-transceiver interface clocks consists of clock signals from the fpga fabric to the transceiver blocks, and from the transceiver blocks to the fpga fabric. these clock resources use the global clock networks (gclk) in the fpga core. f for information about the gclk resources in the cyclone iv gx devices, refer to clock networks and plls in cyclone iv devices chapter. table 1?11 lists the fpga fabric-transceiver interface clocks. in the transmitter datapath, tx phase compensation fifo forms the fpga fabric-transmitter interface. data and control signals for the transmitter are clocked with the fifo write clock. the fifo write clock supports automatic clock selection by the quartus ii software (depending on cha nnel configuration), or user-specified clock from tx_coreclk port. table 1?12 details the automatic tx phase compensation fifo write clock selection by the quartus ii software. 1 the quartus ii software assumes automatic clock selection for tx phase compensation fifo write clock if you do not enable the tx_coreclk port. when using user-specified clock option, ensure that the clock feeding tx_coreclk port has 0 ppm difference with the tx phase compensation fifo read clock. table 1?11. fpga fabric-transceiver interface clocks clock name clock description interface direction tx_clkout phase compensation fifo clock transceiver to fpga fabric rx_clkout phase compensation fifo clock transceiver to fpga fabric coreclkout phase compensation fifo clock transceiver to fpga fabric fixed_clk 125mhz receiver detect clock in pipe mode fpga fabric to transceiver reconfig_clk (1) , (2) transceiver dynamic reconfiguration and offset cancellation clock fpga fabric to transceiver cal_blk_clk (2) transceiver calibration block clock fpga fabric to transceiver notes to table 1?11 : (1) offset cancellation process that is executed after power cycle requires reconfig_clk clock. the reconfig_clk must be driven with a free-running clock and not derived from the tran sceiver blocks. (2) for the supported clock frequency range, refer to the cyclone iv device data sheet . table 1?12. automatic tx phase compensation fifo write clock selection channel configuration quartus ii selection non-bonded tx_clkout clock feeds the fifo write clock. tx_clkout is forwarded through the transmitter channel from low-speed clock, which also feeds the fifo read clock. bonded coreclkout clock feeds the fifo write clock for the bonded channels. coreclkout clock is the common bonded low-speed clock, which also feeds the fifo read clock in the bonded channels.
1?40 chapter 1: cyclone iv transceivers architecture transceiver clocki ng architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation in the receiver datapath, rx phase compensation fifo forms the receiver-fpga fabric interface. data and status signals fr om the receiver are clocked with the fifo read clock. the fifo read clock supports au tomatic clock selection by the quartus ii software (depending on channel configur ation), or user-specified clock from rx_coreclk port. table 1?13 details the automatic rx phase compensation fifo read clock selection by the quartus ii software. 1 the quartus ii software assumes automatic clock selection for rx phase compensation fifo read clock if you do not enable the rx_coreclk port. when using user-specified clock option, ensure that the clock feeding rx_coreclk port has 0 ppm difference with the rx phase compensation fifo write clock. table 1?13. automatic rx phase compensation fifo read clock selection channel configuration quartus ii selection non-bonded with rate match fifo (1) tx_clkout clock feeds the fifo read clock. tx_clkout is forwarded through the receiver channel from low-speed clock, which also feeds the fifo write clock and transmitter pcs. without rate match fifo rx_clkout clock feeds the fifo read clock. rx_clkout is forwarded through the receiver channel from low-sp eed recovered clock, which also feeds the fifo write clock. bonded with rate match fifo (1) coreclkout clock feeds the fifo read clock for the bonded channels. coreclkout clock is the common bonded low-speed clock, which also feeds the fifo read clock and transmitter pcs in the bonded channels. without rate match fifo rx_clkout clock feeds the fifo read clock. rx_clkout is forwarded through the receiver channel from low-sp eed recovered clock, which also feeds the fifo write clock. note to table 1?13 : (1) configuration with rate match fifo is su pported in transmitter and receiver operation.
chapter 1: cyclone iv transceivers architecture 1?41 calibration block ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 calibration block this block calibrates the oct resistors an d the analog portions of the transceiver blocks to ensure that the functionality is independent of process, voltage, and temperature (pvt) variations. figure 1?40 shows the location of the calibration block and how it is connected to the transceiver blocks. the calibration block internally generates a constant internal reference voltage, independent of pvt variations and uses this voltage and the external reference resistor on the rref pin to generate constant refere nce currents. the oct calibration circuit calibrates the oct resistors present in the transceiver channels. figure 1?41 shows the calibration block diagram. figure 1?40. transceiver calibration blocks location and connection note to figure 1?40 : (1) transceiver block gxbl1 is only available for devices in f484 and larger packages. figure 1?41. input signals to the calibration blocks (note 1) notes to figure 1?41 : (1) all transceiver channels use the same cal ibration block clock an d power down signals. (2) connect a 2 k ? (tolerance max 1%) external resistor to the rref pin to ground. the rref resistor connection in the board must be free from any external noise. (3) supports up to 125 mhz clock frequency. use either dedicated glob al clock or divide-down lo gic from the fpga fabric to generate a slow clock on the local clock routing. (4) the calibration block restarts the calib ration process following deassertion of the cal_blk_powerdown signal. gxbl1 (1) gxbl0 2k rref calibration block cyclone i v gx de v ice rref pin (2) cal_blk_clk (3) cal_blk_powerdown (4) oct calibration control reference signal internal reference v oltage generator oct calibration circuit analog block calibration circuit analog block calibration control calib r a t ion block
1?42 chapter 1: cyclone iv transceivers architecture pci-express hard ip block cyclone iv device handbook, volume 2 ? december 2010 altera corporation pci-express hard ip block figure 1?42 shows the block diagram of the pcie hard ip block implementing the phy mac, data link layer, and transact ion layer for pcie interfaces. the pipe interface is used as the interface between the transceiver and the hard ip block. the hard ip block supports 1, 2, or 4 initial lane configurations with a maximum payload of 256 bytes at gen1 frequency. the ap plication interface is 64 bits with a data width of 16 bits per channel running at up to 125 mhz. as a hard macro and a verified block, it uses very few fpga resources, while significantly reducing design risk and the time required to achieve timing closure. it is compliant with the pci express base specification 1.1. you do not have to pay a licensing fee to use this module. configuring the hard ip block requires using the pci express compiler. f for more information about the hard ip block, refer to the pci express compiler user guide . figure 1?43 shows the lane placement requirements when implementing pcie with hard ip block. figure 1?42. pci express hard ip high-level block diagram clock & reset selection pcie ha r d ip tl interface adapter local mnmt if (lmi) pcie protocol stack retry buffer v irtual channel rx buffer pcie reconfig figure 1?43. pcie with hard ip block lane placement requirements (note 1) note to figure 1?43 : (1) applicable for pcie 1, 2, and 4 implementations with hard ip blocks only. channel 3 channel 2 channel 1 channel 0 pcie lane 3 pcie lane 2 pcie lane 1 pcie lane 0 pcie hard ip t r ansceive r block gxbl0
chapter 1: cyclone iv transceivers architecture 1?43 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 transceiver functional modes the cyclone iv gx transceiver supports the functional modes as listed in table 1?14 for protocol implementation. basic mode the cyclone iv gx transceiver channel datapath is highly flexible in basic mode to implement proprietary protocols. sata, v-by-one, and display port protocol implementations in cyclone iv gx transceiver are supported with basic mode. figure 1?44 shows the transceiver channel da tapath supported in basic mode. table 1?14. transceiver functional modes for protocol implementation functional mode protocol key feature reference basic proprietary, sata, v- by-one, display port low latency pcs, transmitter in electrical idle, signal detect at receiver, wider spread asynchronous ssc ?basic mode? on page 1?43 pci express (pipe) pcie gen1 with pipe interface pipe ports, receiver detect, transmitter in electrical idle, electrical idle inference, signal detect at receiver, fast recovery, protocol-compliant word aligner and rate match fifo, synchronous ssc ?pci express (pipe) mode? on page 1?48 gige gbe running disparity preservation, protocol-compliant word aligner and rate match fifo, recovered clock port for applications such as synchronous ethernet ?gige mode? on page 1?54 serial rapidio srio protocol-compliant word aligner ?serial rapidio mode? on page 1?59 xaui xaui deskew fifo, protocol-compliant word aligner and rate match fifo ?xaui mode? on page 1?61 deterministic latency proprietary, cpri, obsai tx pll phase frequency detector (pfd) feedback, registered mode fifo, tx bit-slip control ?deterministic latency mode? on page 1?68 sdi sdi high-speed serdes, cdr ?sdi mode? on page 1?71 figure 1?44. transceiver channel datapath in basic mode byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_dataout wr_clk rd_clk wr_clk rd_clk receive r channel pcs receive r channel pma rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo word aligner rx phase comp fifo
1?44 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?45 and figure 1?46 show the supported transceiver configurations in basic mode with the 8-bit and 10-bit pma-pcs interface width respectively. figure 1?45. supported transceiver configurations in basic mode with the 8-bit pma-pcs interface width functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) 8-bit disabled enabled 0.6- 1.0 0.6- 1.25 0.6- 2.0 0.6- 2.5 0.6- 1.0 0.6- 1.25 0.6- 1.0 0.6- 2.5 0.6- 1.0 0.6- 1.25 0.6- 1.0 0.6- 1.25 disabled enabled manual alignment (16-bit) bit slip (16-bit) disabled disabled disabled disabled 8-bit 16-bit 16-bit 16-bit 8-bit 16-bit basic (8-bit pma-pcs interface width) 1, 2, 4 disabled disabled disabled disabled disabled disabled disabled enabled disabled enabled disabled enabled disabled disabled applicable for de v ices in f324 and smaller packages applicable for de v ices in f484 and larger packages data rate (gbps) 75- 125 75- 156.25 75- 125 75- 156.25 75- 125 75- 156.25 37.5- 125 37.5- 156.25 37.5- 125 37.5- 156.25 37.5- 125 37.5- 156.25 37.5- 125 37.5- 156.25
chapter 1: cyclone iv transceivers architecture 1?45 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 in basic mode, the transceiver support s the following additional options: low-latency pcs operation transmitter in electrical idle receiver signal detect receiver spread spectrum clocking low-latency pcs operation when configured in low-latency pcs operation, the following blocks in the transceiver pcs are bypassed, resulting in a lower latency pcs datapath: 8b/10b encoder and decoder word aligner rate match fifo byte ordering figure 1?46. transceiver configurations in basic mode with a 10-bit wide pma-to-pcs interface functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to- transcei v er interface width fpga fabric-to- transcei v er interface fred q uency (mhz) disabled enabled manual alignment (7-bit, 10-bit) disabled 8-bit 16-bit disabled disabled disabled enabled bit slip (7-bit, 10-bit) disabled enabled disabled 10-bit 20-bit basic (10-bit pma-pcs interface width) 1, 2, 4 disabled disabled disabled enabled disabled disabled disabled enabled 10-bit 20-bit disabled disabled disabled disabled enabled disabled 8-bit 16-bit disabled disabled disabled enabled disabled enabled 10-bit 20-bit disabled disabled disabled automatic synchronization state machine (7-bit, 10-bit) disabled enabled disabled 8-bit 16-bit disabled disabled disabled enabled disabled enabled 10-bit 20-bit disabled disabled disabled enabled 16-bit disabled enabled 8-bit 16-bit disabled disabled enabled data rate (gbps) applicable for de v ices in f324 and smaller packages applicable for de v ices in f484 and larger packages 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 0.6- 1.25 0.6- 1.5625 0.6- 2.5 0.6- 3.125 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 60- 125 60- 156.25 30- 125 30- 156.25 30- 125 30- 156.25
1?46 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?47 shows the transceiver channel datapa th in basic mode with low-latency pcs operation. . transmitter in electrical idle the transmitter buffer supports electrical idle state, where when enabled, the differential output buffer driver is tri-stat ed. during electrical id le, the output buffer assumes the common mode output voltage leve ls. for details about the electrical idle features, refer to ?pci express (pipe) mode? on page 1?48 . 1 the transmitter in electrical idle feature is required for compliance to the version 2.00 of phy interface for the pci express (pipe) architecture specification for pcie protocol implementation. signal detect at receiver signal detect at receiver is only support ed when 8b/10b encoder/decoder block is enabled. receiver spread spectrum clocking the cdr supports optional wider spread of asynchronous ssc (triangular frequency modulation profile only) in ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 devices only. you can turn on the ssc inpu t clocking tracking capability on the receiver channel by checking the enable the spread spectrum feature option in the 'rx analog' page of the altgx megawizard. 1 you should use different mplls to clock your tx and rx channel separately, if you plan to use spread spectrum clocking modulation on the transmitter side. this is to ensure the input reference clock to the rx channel is not ssc modulated. you can separate the tx and rx mplls by instantiating the tx only and rx only modes in the 'what is the operation mode?' setting in the altgx megawizard and connect two separate input reference clocks to the tx only and rx only channels respectively. the following describes the sata, v-by-o ne, and display port protocol support using basic mode. figure 1?47. transceiver channel datapath in basi c mode with low-latency pcs operation byte serializer t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_dataout wr_clk rd_clk wr_clk rd_clk receive r channel pcs receive r channel pma rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo word aligner rx phase comp fifo 8b/10b encoder
chapter 1: cyclone iv transceivers architecture 1?47 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 sata sata is a computer bus standard that transfers data between the motherboard and mass storage devices inside and outside the computer. cyclone iv gx transceiver in basic mode supports sata 1.0 implementation at 1.5 gbps, and sata 2.0 implementation at 3.0 gbps. the following ar e the options offered in basic mode that fulfills sata protocol implementation: asynchronous ssc support for 0.5% down-spread with 30 khz - 33 khz modulation supported for receiver in ep4cgx 30 (f484 package), ep4cgx50, and ep4cgx75 devices with cdr in manual lock mode out-of-band (oob) signaling support supported with putting transmitter in electrical idle state by tri-stating the output buffer, and receiver signal detection for detecting oob signals. 1 clock rate compensation function must be implemented in the user logic as the receiver rate match fifo in the pcs compensates up to 300 ppm between the upstream transmitter and local receiver cl ocks. with ssc, the sata specification requires clock rate compensation that works up to +350 to -5350 ppm. v-by-one v-by-one is a serial interface standard de veloped to support the higher frame rates and the higher resolutions required by next-generation flat-panel display. cyclone iv gx transceiver in basic mode supports v-by-one implementation at 3.0 gbps. asynchronous ssc with wider spread is supported for receiver in ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 devices with cdr in manual lock mode. 1 packer and unpacker, scrambling and desc rambling, and clock rate compensation functions must be implemented in the user logics. display port display port is a digital display interface standard that defines the digital audio/video interconnect, intended to be used primarily between a computer and its display monitor, or a computer and a home-theater system. cyclone iv gx transceiver in basic mode supports physical layer implementation of the display port protocol, specification revisi on of 1.1a. display port protocol implementation is supported in 1, 2, and 4 lanes configuratio n, at both data rate of 1.62 gbps and 2.7 gbps. asynchronous ssc with wider spread is supported for receiver in ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 devices with cdr in manual lock mode.
1?48 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation pci express (pipe) mode pipe mode provides the transceiver channel datapath configuration that supports 1, 2, and 4 initial lane width for pcie ge n1 signaling rate with pipe interface implementation. the cyclone iv gx transcei ver provides following features in pipe mode: pipe interface receiver detection circuitry electrical idle control signal detect at receiver lane synchronization with compliant state machine clock rate compensation with rate match fifo low-latency synchronous pcie fast recovery from p0s state electrical idle inference compliance pattern transmission reset requirement figure 1?48 shows the transceiver channel datapa th and clocking when configured in pipe mode with 1 channel configuration. . configuring the hard ip module requires using the pci express compiler. when configuring the transceiver for pcie implem entation with hard ip module, the byte serializer and deserializer are not enabled, providing an 8-bit transceiver-pipe-hard ip data interface width running at 250 mhz clock frequency. figure 1?48. transceiver channel datapath and clocking when configured in pipe mode with 1 channel configuration notes to figure 1?48 : (1) low-speed recovered clock. (2) high-speed recovered clock. byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer fpga fab r ic pipe in t e r face tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk tx_clkout /2 rx_coreclk receive r channel pcs receive r channel pma rx_dataout rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock /2 word aligner rx phase comp fifo (2) (1) pcie hard ip
chapter 1: cyclone iv transceivers architecture 1?49 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 f for more information about pcie implementa tion with hard ip module, refer to the pci express compiler user guide . figure 1?49 shows the transceiver configuration in pipe mode. 1 when configuring the transceiver into pipe mode using altgx megafunction for pcie implementation, the phy-mac, data link and transaction layers must be implemented in user logics. the pcie hard ip block is bypassed in this configuration. pipe interface the pipe interface provides a standard interface between the pcie-compliant phy and mac layer as defined by the version 2.00 of the pipe architecture specification for gen1 (2.5 gbps) signaling rate. any core or ip implementing the phy mac, data link, and transaction layers that supports pipe 2.00 can be connected to the cyclone iv gx transceiver configured in pipe mode. table 1?15 lists the pipe-specific ports available from the cyclone iv gx tran sceiver configured in pipe mode and the corresponding port names in the pipe 2.00 specification. figure 1?49. transceiver configuration in pipe mode functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) 2.5 disabled automatic synchronization state machine (10-bit) 16-bit pci express (pipe) 1, 2, 4 disabled enabled enabled enabled data rate (gbps) 125
1?50 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation receiver detection circuitry in pipe mode, the transmitter supports rece iver detection function with a built-in circuitry in the transmitter pma. the pcie pr otocol requires the transmitter to detect if a receiver is present at the far end of ea ch lane as part of the link training and synchronization state machine sequence. this feature requires the following conditions: transmitter output buffer to be tri-stated have oct utilization 125 mhz clock on the fixedclk port the circuit works by sending a pulse on the common mode of the transmitter. if an active pcie receiver is present at the far en d, the time constant of the step voltage on the trace is higher compared to when the receiver is not present. the circuitry monitors the time constant of the step signal seen on the trace to decide if a receiver was detected. figure 1?50 and figure 1?51 show the detection mechan ism example for a successful and unsuccessful receiver detection scenarios respectively. the tx_forceelecidle port must be asserted at least 10 parallel clock cycles prior to assertion of tx_detectrxloop port to ensure the transmitter buffer is properly tri-stated. detection completion is indicated by pipephydonestatus assertion, with detection successful indicate d by 3'b011 on pipestatus[2..0] port, or detection unsuccessful by 3'b000 on pipestatus[2..0] port. table 1?15. transceiver-fpga fabric interface ports in pipe mode transceiver port name pipe 2.00 port name tx_datain[15..0] (1) txdata[15..0] tx_ctrlenable[1..0] (1) txdatak[1..0] rx_dataout[15..0] (1) rxdata[15..0] rx_ctrldetect[1..0] (1) rxdatak[1..0] tx_detectrxloop txdetectrx/loopback tx_forceelecidle txelecidle tx_forcedispcompliance txcompliance pipe8b10binvpolarity rxpolarity powerdn[1..0] (2) powerdown[1..0] pipedatavalid rxvalid pipephydonestatus phystatus pipeelecidle rxelecidle pipestatus rxstatus[2..0] notes to table 1?15 : (1) when used with pcie hard ip block, the byte serdes is not used. in this case, the da ta ports are 8 bits wide and control identifier is 1 bit wide. (2) cyclone iv gx transceiver s do not implement power savi ng measures in lo wer power states (p0s, p1, and p2), except when putting the transmitter buffer in el ectrical idle in the lower power states.
chapter 1: cyclone iv transceivers architecture 1?51 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 electrical idle control the cyclone iv gx transceivers support tran smitter buffer in electrical idle state using the tx_forceelecidle port. during electrical id le, the transmitter buffer differential and common mode output voltage levels are compliant to the pcie base specification 2.0 for gen1 signaling rate. figure 1?52 shows the relationship between assertion of the tx_forceelecidle port and the transmitter buffer output on the tx_dataout port. signal detect at receiver in pipe mode, signal detection is supported with the built-in signal threshold detection circuitry. when electrical idle inference is not enabled, the rx_signaldetect signal is inverted and available as pipeelecidle port in the pipe interface. figure 1?50. example of successful receiver detect operation figure 1?51. example of unsuccessful receiver detect operation figure 1?52. transmitter buffer electrical idle state notes to figure 1?52 : (1) the protocol requires the transmitter buffer to transition to a va lid electrical idle after sen ding an electrical idle ordered set within 8 ns. (2) the protocol requires transmitter buffe r to stay in electrical idle for a mini mum of 20 ns for gen1 signaling rate. pipephydonestatus pipestatus[2..0] 3'b011 3'b000 powerdown[1..0] tx_detectrxloopback 2'b10(p1) pipephydonestatus pipestatus[2..0] 3'b000 powerdown[1..0] tx_detectrxloopback 2'b10(p1) tx_forcelecidle tx_dataout <8 ns (1) >20 ns (2)
1?52 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation lane synchronization in pipe mode, the word aligner is config ured in automatic synchronization state machine mode that complies with the pcie specification. table 1?16 lists the synchronization state machine parameters that implement the pcie-compliant synchronization. clock rate compensation in pipe mode, the rate match fifo comp ensates up to 300 ppm (600 ppm total) difference between the upstream transmitter and the local receiver reference clock. in pipe mode, the rate match fifo operation is compliant to the version 2.0 of the pcie base specification. the pcie protocol requires the receiver to recognize a skip ( skp ) ordered set, and inserts or deletes only one skp symbol per skp ordered set received to prevent the rate match fifo from overflowing or underflowing. the skp ordered set is a /k28.5/ comma ( com ) symbol followed by one to five consecutive /k28.0/ skp symbols, which are sent by transm itter during the inter-packet gap. the rate match operation begins after the synchronization state machine in the word aligner indicates synchronization is acquired, as indicated with logic high on rx_syncstatus signal. rate match fifo insertion and deletion events are communicated to fpga fabric on the pipestatus[2..0] port from each channel. low-latency synchronous pcie in pipe mode, the cyclone iv gx transceiver supports a lower latency in synchronous pcie by reducing the latency across the rate match fifo. in synchronous pcie, the system uses a common reference clocking that gives a 0 ppm difference between the upstream transmitter's and local receiver's reference clock. f when using common reference clocking, the transceiver supports spread-spectrum clocking. for more information about the ssc support in pcie express (pipe) mode, refer to the cyclone iv device data sheet . fast recovery from p0s state the pcie protocol defines fast training se quences for bit and byte synchronization to transition from l0s to l0 (pipe p0s to p0) power states. the phy must acquire bit and byte synchronization when transitioning from l0s to l0 state between 16 ns to 4 s. each cyclone iv gx receiver channel has buil t-in fast recovery circuit that allows the receiver to meet the requirement when enabled. table 1?16. synchronization state machine parameters (note 1) parameter value number of valid synchronization (/k28.5/) code groups received to achieve synchronization 4 number of erroneous code groups received to lose synchronization 17 number of continuous good code groups received to reduce the error count by one 16 note to table 1?16 : (1) the word aligner supports 10-bit pattern lengths in pipe mode.
chapter 1: cyclone iv transceivers architecture 1?53 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 electrical idle inference in pipe mode, the cyclone iv gx transceiver supports inferring the electrical idle condition at each receiver instead of dete cting the electrical idle condition using analog circuitry, as defined in the version 2. 0 of pcie base specification. the inference is supported using rx_elecidleinfersel[2..0] port, with valid driven values as listed in table 1?17 in each link training and status state machine substate. the electrical idle inference module drives the pipeelecidle signal high in each receiver channel when an electrical idle condition is inferred. the electrical idle inference module cannot detect electrical idle exit condition based on the reception of the electrical idle exit ordered set, as specified in the pci express (pipe) base specification. 1 when enabled, the electrical idle inference block uses electrical idle ordered set detection from the fast recovery circuitry to drive the pipeelecidle signal. compliance pattern transmission in pipe mode, the cyclone iv gx tr ansceiver supports compliance pattern transmission which requires the first /k28.5 / code group of the compliance pattern to be encoded with negative current disparity. this requirement is supported using a tx_forcedispcompliance port that when driven with logic high, the transmitter data on the tx_datain port is transmitted with nega tive current running disparity. the compliance pattern is a repeating sequence of the four code groups: /k28.5/; /d21.5/; /k28.5/; /d10.2/. figure 1?53 shows the compliance pattern transmission where the tx_forcedispcompliance port must be asserted in the same parallel clock cycle as /k28.5/d21.5/ of the compliance pattern on tx_datain[15..0] port. table 1?17. electrical idle inference conditions rx_elecidleinfersel [2..0] link training and status state machine state description 3'b100 l0 absence of update_fc or alternatively skip ordered set in 128 ? s window 3'b101 recovery.rcvrcfg absence of ts1 or ts2 ordered set in 1280 ui interval 3'b101 recovery.speed when successful speed negotiation = 1'b1 absence of ts1 or ts2 ordered set in 1280 ui interval 3'b110 recovery.speed when successful speed negotiation = 1'b0 absence of an exit from electrical idle in 2000 ui interval 3'b111 loopback.active (as slave) absence of an exit from electrical idle in 128 ? s window
1?54 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation reset requirement cyclone iv gx devices meets the pcie reset time requirement from device power up to the link active state with th e configuration schemes listed in table 1?17 . gige mode gige mode provides the transceiver ch annel datapath configuration for gbe (specifically the 1000 base-x physical layer device (phy) standard) protocol implementation. the cyclone iv gx transceiver provides the pma and the following pcs functions as defined in the ieee 802.3 specification for 1000 base-x phy: 8b/10b encoding and decoding synchronization upstream transmitter and local receiver clock frequency compensation (rate matching) 1 cyclone iv gx transceivers do not have built-in support for some pcs functions such as auto-negotiation state mach ine, collision-detect, and carrier-sense. if required, you must implement these functions in a user logic or external circuits. figure 1?53. compliance pattern transmission support in pci express (pipe) mode table 1?18. electrical idle inference conditions device configuration scheme configuration time (ms) ep4cgx15 passive serial (ps) 51 ep4cgx22 ps 92 ep4cgx30 (1) ps 92 ep4cgx50 fast passive parallel (fpp) 41 ep4cgx75 fpp 41 ep4cgx110 fpp 70 ep4cgx150 fpp 70 note to table 1?18 : (1) ep4cgx30 device in f484 package fulfills the pcie reset time require ment using fpp configuration scheme with configuration time of 41 ms. tx_ctrldetect[1..0] 01 tx_forcedispcompliance tx_datain[15..0] b5bc 4abc b5bc 4abc /k28.5/d21.5/ /k28.5/d21.5/ /k28.5/d10.2/ /k28.5/d10.2/
chapter 1: cyclone iv transceivers architecture 1?55 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the 1000 base-x phy is defined by ieee 802.3 standard as an intermediate or transition layer that interfaces various ph ysical media with the media access control (mac) in a gbe system. the 1000 base-x ph y, which has a physical interface data rate of 1.25 gbps consists of the pcs, pma, and physical media dependent (pmd) layers. figure 1?54 shows the 1000 base-x phy in lan layers. figure 1?55 shows the transceiver channel datapa th and clocking when configured in gige mode. figure 1?54. 1000 base-x phy in a gbe osi reference model notes to figure 1?54 : (1) csma/cd = carrier-sense multiple access with collision detection (2) gmii = gigabit medium independent interface logical link control (llc) or other mac client (1) (2) mac control (optional) mac pma medium 1000 base-x phy gmii pcs reconcilation pmd higher layers lan csma/dc layers figure 1?55. transceiver channel datapath and clocking when configured in gige mode notes to figure 1?55 : (1) low-speed recovered clock. (2) high-speed recovered clock. (3) optional rx_recovclkout port from cdr low-speed recovered clock is available for applicatio ns such as synchronous ethernet. (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk tx_clkout rx_coreclk receive r channel pcs receive r channel pma rx_dataout (3) rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (2) word aligner rx phase comp fifo rx_reco v clkout
1?56 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?56 shows the transceiver conf iguration in gige mode. when configured in gige mode, three encoded comma (/k28.5/) code groups are transmitted automatically after deassertion of tx_digitalreset and before transmitting user data on the tx_datain port. this could affect the synchronization state machine behavior at the receiver. depending on when you start transmitting the synchronization sequence, there could be an even or odd number of encoded data (/dx.y/) code groups transmitted between the last of the three automaticall y sent /k28.5/ code groups and the first /k28.5/ code group of the synchronization se quence. if there is an even number of /dx.y/ code groups received between these two /k28.5/ code groups, the first /k28.5/ code group of the synchronization sequence begins at an odd code group boundary. an ieee802.3-compliant gige sync hronization state machine treats this as an error condition and goes into the loss-of-sync state. figure 1?57 shows an example of even numb ers of /dx.y/ between the last automatically sent /k28.5/ and the firs t user-sent /k28.5/. the first user-sent /k28.5/ code group received at an odd code group boundary in cycle n + 3 takes the receiver synchronization state machine in loss-of-sync state. the first synchronization ordered-set /k28.5/dx.y/ in cycles n + 3 and n + 4 is discounted and three additional ordered sets are required for successful synchronization. figure 1?56. transceiver configuration in gige mode functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) 1.25 disabled automatic synchronization state machine (7-bit, 10-bit) 8-bit gige 1 disabled enabled enabled disabled data rate (gbps) 125
chapter 1: cyclone iv transceivers architecture 1?57 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 running disparity preservation with idle ordered set during idle ordered sets transmission in gige mode, the transmitter ensures a negative running disparity at the end of an idle ordered set. any /dx.y/, except for /d21.5/ (part of /c1/ ordered set) or /d2. 2/ (part of /c2/ ordered set) following a /k28.5/ is automatically replaced with either of the following: a /d5.6/ (/i1/ ordered set) if the runni ng disparity before /k28.5/ is positive a /d16.2/ (/i2/ ordered set) if the runni ng disparity before /k28.5/ is negative lane synchronization in gige mode, the word aligner is config ured in automatic synchronization state machine mode that complies with the i eee p802.3ae standard. a synchronization ordered set is a /k28.5/ code group followed by an odd number of valid /dx.y/ code groups. table 1?19 lists the synchronization state machine parameters that implements the gbe-compliant synchronization. clock frequency compensation in gige mode, the rate match fifo comp ensates up to 100 ppm (200 ppm total) difference between the upstream transmitter and the local receiver reference clock. the gige protocol requires the transmit ter to send idle ordered sets /i1/ (/k28.5/d5.6/) and /i2/ (/k28.5/d16.2/) du ring inter-packet gaps, adhering to the rules listed in the ieee 802.3 specification. the rate match operation begins after the synchronization state machine in the word aligner indicates synchronization has been acquired by driving the rx_syncstatus signal high. the rate match fifo deletes or inserts both symbols of the /i2/ ordered sets (/k28.5/ and /d16.2/) to prevent the rate match fifo from overflowing or underflowing. it can insert or delete as many /i2/ ordered sets as necessary to perform the rate match operation. figure 1?57. example of reset condition in gige mode tx_digitalreset clock n n + 1 n + 2 n + 3 n + 4 tx_dataout k28.5 xxx k28.5 k28.5 dx.y dx.y k28.5 dx.y k28.5 k28.5 dx.y k28.5 dx.y table 1?19. synchronization state machine parameters (note 1) parameter value number of valid synchronization ordered sets received to achieve synchronization 3 number of erroneous code groups received to lose synchronization 4 number of continuous good code groups received to reduce the error count by one 4 note to table 1?19 : (1) the word aligner supports 7-bit and 10-bit pattern lengths in gige mode.
1?58 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation 1 if you have the auto negotiation state machine in the fpga fabric, the rate match fifo is also capable of deleting or insertin g the first two bytes of the /c2/ ordered set (/k28.5/d2.2/dx.y/dx.y/) to prevent the rate match fifo from overflowing or under running during the auto negotiation phase. the status flags rx_rmfifodatadeleted and rx_rmfifodatainserted to indicate rate match fifo deletion and inse rtion events, respectively, are forwarded to the fpga fabric. these two flags are asserted for two clock cycles for each deleted and inserted /i2/ ordered set. figure 1?58 shows an example of rate match fifo deletion where three symbols must be deleted. because the rate match fifo can only delete /i2/ ordered sets, it deletes two /i2/ ordered sets (four symbols deleted). figure 1?59 shows an example of rate match fifo insertion in the case where one symbol must be inserted. because the rate match fifo can only insert /i2/ ordered sets, it inserts one /i2/ ordered set (two symbols inserted). 1 the rate match fifo does not insert or dele te code groups automatically to overcome fifo empty or full conditions. in this case, the rate match fifo asserts the rx_rmfifofull and rx_rmfifoempty flags for at least two recovered clock cycles to indicate rate match fifo full and empt y conditions, respectively. you must then assert the rx_digitalreset signal to reset the receiver pcs blocks. figure 1?58. example of rate match fifo deletion in gige mode figure 1?59. example of rate match fifo insertion in gige mode rx_rmfifodatadeleted datain k28.5 dx.y dx.y k28.5 d16.2 k28.5 first /i2/ skip ordered set second /i2/ skip ordered set /i2/ s kip s ymbol deleted third /i2/ skip ordered set d16.2 d16.2 dx.y dataout k28.5 dx.y d16.2 first /i2/ ordered set second /i2/ ordered set rx_rmfifodatainserted dataout k28.5 dx.y dx.y k28.5 d16.2 k28.5 d16.2 k28.5 d16.2 d16.2 dx.y datain k28.5 d16.2
chapter 1: cyclone iv transceivers architecture 1?59 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 serial rapidio mode serial rapidio mode provides the non-bo nded (1) transceiver channel datapath configuration for srio protocol implemen tation. the cyclone iv gx transceiver provides the pma and the following pcs functions: 8b/10b encoding and decoding lane synchronization state machine 1 cyclone iv gx transceivers do not have built-in support for some pcs functions such as pseudo-random idle sequence generation and lane alignment in 4 bonded channel configuration. if required, you mu st implement these functions in a user logics or external circuits. the rapidio trade association defines a high-performance, packet-switched interconnect standard to pass data and co ntrol information between microprocessors, digital signals, communications, network processes, system memories, and peripheral devices. the srio physical layer specification defines serial protocol running at 1.25 gbps, 2.5 gbps, and 3.125 gbps in either single-lane (1) or bonded four-lane (4) at each line rate. cyclone iv gx transceive rs support single-lane (1) configuration at all three line rates. four 1 channels co nfigured in serial rapidio mode can be instantiated to achieve one non-bonded 4 srio link. when implementing four 1 srio channels, the receivers do not have lane alignment or deskew capability. figure 1?60 shows the transceiver channel datapa th and clocking when configured in serial rapidio mode. figure 1?60. transceiver channel datapath and clocking when configured in serial rapidio mode notes to figure 1?60 : (1) optional rate match fifo. (2) high-speed recovered clock. (3) low-speed recovered clock. (3) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock tx_coreclk tx_clkout rx_coreclk receive r channel pcs receive r channel pma rx_dataout rx_datain deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (2) word aligner rx phase comp fifo /2 /2 (1)
1?60 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?61 shows the transceiver configura tion in serial rapidio mode. lane synchronization in serial rapidio mode, the word aligner is compliant to the srio specification 1.3 and is configured in automatic synchr onization state machine mode with the parameter settings as listed in table 1?20 . figure 1?61. transceiver configuration in serial rapidio mode table 1?20. synchronization state machine parameters (note 1) parameter value number of valid synchronization (/k28.5/) code groups received to achieve synchronization 127 number of erroneous code groups received to lose synchronization 3 number of continuous good code groups received to reduce the error count by one 255 note to table 1?20 : (1) the word aligner supports 10-bit pattern lengths in srio mode. functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) disabled automatic synchronization state machine (10-bit) srio 1 data rate (gbps) disabled disabled 1.25/2.5/ 3.125 1.25/2.5/ 3.125 16-bit disabled enabled enabled enabled enabled 62.5/125/ 156.25 16-bit 62.5/125/ 156.25
chapter 1: cyclone iv transceivers architecture 1?61 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 clock frequency compensation in serial rapidio mode, the rate match fi fo compensates up to 100 ppm (200 ppm total) difference between the upstream transmitter and the local receiver reference clock. rate matcher is an optional block availa ble for selection in serial rapidio mode. however, this block is not fu lly compliant to the srio spec ification. when enabled in the altgx megawizard plug-in manager, the default settings are: control pattern 1 = k28.5 with positive disparity skip pattern 1 = k29.7 with positive disparity control pattern 2 = k28.5 with negative disparity skip pattern 2 = k29.7 with negative disparity when enabled, the rate match fifo operation begins after the link is synchronized (indicated by assertion of rx_syncstatus from the word aligner). when the rate matcher receives either of the two 10-bit control patterns followed by the respective 10-bit skip pattern, it inserts or deletes the 10-bit skip pattern as necessary to avoid the rate match fifo from overflowing or under-running. the rate match fifo can delete/insert a maximum of one skip pattern from a cluster. 1 the rate match fifo may perform multiple insertion or deletion if the ppm difference is more than the allowable 200 ppm range. ensure that the ppm difference in your system is less than 200 ppm. xaui mode xaui mode provides the bonded (4) tran sceiver channel datapath configuration for xaui protocol implementation. the cyclone iv gx transceivers configured in xaui mode provides the following functions: xgmii-to-pcs code conversi on at transmitter datapath pcs-to-xgmii code conversion at receiver datapath channel deskewing of four lanes 8b/10b encoding and decoding ieee p802.3ae-compliant sync hronization state machine clock rate compensation the xaui is a self-managed interface to tran sparently extend the physical reach of the xgmii between the reconciliation sublayer and the phy layer in the 10 gbps lan as shown in figure 1?62 . the xaui interface consists of four lanes, each running at 3.125 gbps with 8b/10b encoded data for a total of actual 10 gbps data throughput. at the transmit side of the xaui interf ace, the data and control characters are converted within the xgmii extender sublayer into an 8b/10b encoded data stream. each data stream is then transmitted across a single differential pair running at 3.125 gbps. at the xaui receiver, the incoming da ta is decoded and mapped back to the 32- bit xgmii format. this provides a transparent extension of the physical reach of the xgmii and also reduces the interface pin count.
1?62 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation xaui functions as a self-managed interface because code group synchronization, channel deskew, and clock domain decoupling is handled with no upper layer support requirements. this functionality is based on the pcs code groups that are used during the inter-packet gap time and idle periods. figure 1?62. xaui in 10 gbps lan layers llc or other mac client mac control (optional) mac pma medium phy optional xgmii extender 10 gbps xgmii pcs reconcilation xgmii extended sublayer pmd xgmii xaui xgmii extended sublayer higher layers lan csma/dc layers
chapter 1: cyclone iv transceivers architecture 1?63 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 1?63 shows the transceiver channel datapa th and clocking when configured in xaui mode. figure 1?63. transceiver channel datapath and clocking when configured in xaui mode notes to figure 1?63 : (1) channel 1 low-speed recovered clock. (2) low-speed recovered clock. (3) high-speed recovered clock. (2) (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 3 t r ansmi tt e r channel pma 3 serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_dataout[3] wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock rx_coreclk[3] tx_coreclk[3] receive r channel pcs 3 receive r channel pma 3 rx_datain[3] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (3) word aligner rx phase comp fifo /2 /2 (2) (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 2 t r ansmi tt e r channel pma 2 serializer tx phase comp fifo tx_dataout[2] wr_clk rd_clk wr_clk rd_clk high-speed clock rx_coreclk[2] tx_coreclk[2] receive r channel pcs 2 receive r channel pma 2 rx_datain[2] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (3) word aligner rx phase comp fifo /2 (2) (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 1 t r ansmi tt e r channel pma 1 serializer tx phase comp fifo tx_dataout[1] wr_clk rd_clk wr_clk rd_clk high-speed clock rx_coreclk[1] tx_coreclk[1] receive r channel pcs 1 receive r channel pma 1 rx_datain[1] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (3) word aligner rx phase comp fifo /2 (2) (1) byte serializer 8b/10b encoder t r ansmi tt e r channel pcs 0 t r ansmi tt e r channel pma 0 serializer tx phase comp fifo tx_dataout[0] wr_clk rd_clk wr_clk rd_clk high-speed clock rx_coreclk[0] tx_coreclk[0] receive r channel pcs 0 receive r channel pma 0 rx_datain[0] deserial- izer cdr byte de- serializer byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (3) word aligner rx phase comp fifo /2 /2 /2 /2 coreclkout /2
1?64 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?64 shows the transceiver configuration in xaui mode. xgmii and pcs code conversions in xaui mode, the 8b/10b encoder in the transmitter datapath maps various 8-bit xgmii codes to 10-bit pcs code groups as listed in table 1?21 . figure 1?64. transceiver configuration in xaui mode functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder deskew fifo rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) 3.125 disabled automatic synchronization state machine (7-bit, 10-bit) 16-bit xaui 4 disabled enabled enabled enabled enabled data rate (gbps) 156.25 table 1?21. xgmii character to pcs code groups mapping (part 1 of 2) xgmii txc (1) xgmii txd (2) , (3) pcs code group description 0 00 through ff dxx,y normal data transmission 1 07 k28.0, k28.3, or k28.5 idle in ||i|| 1 07 k28.5 idle in ||t|| 1 9c k28.4 sequence 1 fb k27.7 start 1 fd k29.7 terminate 1 fe k30.7 error
chapter 1: cyclone iv transceivers architecture 1?65 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 8b/10b decoder in the receiver datapath maps received pcs code groups into specific 8-bit xgmii codes as listed in table 1?22 . channel deskewing the deskew fifo in each of the four lanes expects to receive /a/ code group simultaneously on all four channels during the inter-packet gap, as required by xaui protocol. the skew introduced in the physical medium and the receiver channels might cause the /a/ code group to be received misaligned with respect to each other. the deskew fifo works to align the /a/ code group across the four channels, which operation is compliant to the pcs deskew state machine diagram specified in clause 48 of the ieee p802.3ae specification. the deskew operation begins after link synchronization is achieved on all four chan nels as indicated by the word aligner in each channel. the following are the deskew fifo operations: until the first /a/ code group is received, the deskew fifo read and write pointers in each channel are not incremented. after the first /a/ code group is received, the write pointer starts incrementing for each word received but the read pointer is frozen. when all the four channels received the /a/ code group within 10 recovered clock cycles of each other, the read pointer of all four deskew fifos is released simultaneously, aligning the /a/ code group of all four channels in a column. 1 any other value k30.7 invalid xgmii character notes to table 1?21 : (1) equivalent to tx_ctrlenable port. (2) equivalent to 8-bit inpu t data to 8b/10b encoder. (3) the values in xgmii txd column are in hexadecimal. table 1?21. xgmii character to pcs code groups mapping (part 2 of 2) xgmii txc (1) xgmii txd (2) , (3) pcs code group description table 1?22. pcs code groups to xgmii character mapping xgmii rxc (1) xgmii rxd (2) , (3) pcs code group description 0 00 through ff dxx,y normal data transmission 1 07 k28.0, k28.3, or k28.5 idle in ||i|| 1 07 k28.5 idle in ||t|| 1 9c k28.4 sequence 1 fb k27.7 start 1 fd k29.7 terminate 1 fe k30.7 error 1 fe invalid code group received code group notes to table 1?22 : (1) equivalent to rx_ctrlenable port. (2) equivalent to 8-bit inpu t data to 8b/10b encoder. (3) the values in xgmii rxd column are in hexadecimal.
1?66 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation channel alignment is acquired if three additional aligned ||a|| columns are observed at the output of the deskew fifo s of the four channels after alignment of the first ||a|| column. channel alignment is indicated by the assertion of rx_channelaligned signal. after acquiring channel alignment, if four misaligned ||a|| columns are seen at the output of the deskew fifos in al l four channels with no aligned ||a|| columns in between, the rx_channelaligned signal is deasserted, indicating loss of channel alignment. figure 1?65 shows lane skew at the receiver input and how the deskew fifo uses the /a/ code group to align the channels. lane synchronization in xaui mode, the word aligner is config ured in automatic synchronization state machine mode that is compliant to the pcs synchronization state diagram specified in clause 48 of the ieee p802.3ae specification. table 1?23 lists the synchronization state machine parameters that implements the lane synchronization in xaui mode. figure 1?65. deskew fifo?lane skew at the receiver input lane 0 k k k k k k k k k k k k k k k k k k k r k r k r k k r k r r r r r r r r r r r r r r r r a a a a lane 1 lane 2 lane 3 lane 0 k k k k k k k k k k k k k k k k k k k r k r k r k k r k r r r r r r r r r r r r r r r r a a a a lane 1 lanes skew at recei v er input lanes are deskewed by lining up the ?align?/a/ code groups /a/ column lane 2 lane 3 table 1?23. synchronization state machine parameters (note 1) parameter value number of valid synchronization (/k28.5/) code groups received to achieve synchronization 4 number of erroneous code groups received to lose synchronization 4 number of continuous good code groups received to reduce the error count by one 4 note to table 1?23 : (1) the word aligner supports 7-bit and 10-bit pattern lengths in xaui mode.
chapter 1: cyclone iv transceivers architecture 1?67 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 clock rate compensation in xaui mode, the rate match fifo compensates up to 100 ppm (200 ppm total) difference between the upstream transmitter and the local receiver reference clock. the xaui protocol requires the transmitter to send /r/ (/k28.0/) code groups simultaneously on all four lanes (denoted as ||r|| column) during inter-packet gaps, adhering to rules listed in the ieee p802.3ae specification. the rate match operation begins after rx_syncstatus and rx_channelaligned are asserted. the rx_syncstatus signal is from the word aligner, indicating that synchronization is acquired on all four channels, while rx_channelaligned signal is from the deskew fifo, in dicating channel alignment. the rate match fifo looks for the ||r|| co lumn (simultaneous /r/ code groups on all four channels) and deletes or inserts ||r|| columns to prevent the rate match fifo from overflowing or under running. the rate match fifo can insert or delete as many ||r|| columns as necessary to perform the rate match operation. the rx_rmfifodatadeleted and rx_rmfifodatainserted flags that indicate rate match fifo deletion and insertion events, respectively, are forwarded to the fpga fabric. if an ||r|| column is deleted, the rx_rmfifodeleted flag from each of the four channels goes high for one clock cycle per delete d ||r|| column. if an ||r|| column is inserted, the rx_rmfifoinserted flag from each of the four channels goes high for one cloc k cycle per inserted ||r|| column. 1 the rate match fifo does not insert or dele te code groups automatically to overcome fifo empty or full conditions. in this case, the rate match fifo asserts the rx_rmfifofull and rx_rmfifoempty flags for at least three recovered clock cycles to indicate rate match fifo full and empty conditions, respectively. you must then assert the rx_digitalreset signal to reset the receiver pcs blocks.
1?68 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation deterministic latency mode deterministic latency mode provides the tr ansceiver configuration that allows no latency uncertainty in the datapath and feat ures to strictly control latency variation. this mode supports non-bonded (1) and bo nded (4) channel configurations, and is typically used to support cpri and obsa i protocols that require accurate delay measurements along the datapath. the cyclone iv gx transceivers configured in deterministic latency mode provides the following features: registered mode phase compensation fifo receive bit-slip indication transmit bit-slip control pll pfd feedback figure 1?66 shows the transceiver channel datapa th and clocking when configured in deterministic latency mode. figure 1?66. transceiver channel datapath and clocking when configured in deterministic latency mode note to figure 1?66 : (1) high-speed recovered clock. byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock low-speed reco v ered clock tx_clkout rx_clkout receive r channel pcs receive r channel pma rx_dataout rx_datain deserial- izer cdr byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (1) word aligner rx phase comp fifo /2 /2 byte de- serializer
chapter 1: cyclone iv transceivers architecture 1?69 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 1?67 shows the transceiver configuration in deterministic latency mode. both cpri and obsai protocols define the se rial interface connecting the base station component (specifically cha nnel cards) and remote radio heads (specifically radio frequency cards) in a radio base station syst em with fiber optics. the protocols require the accuracy of round trip delay meas urement for single-hop and multi-hop connections to be within 16.276 ns. the cyclone iv gx transceivers support the following cpri and obsai line rates using deterministic latency mode: cpri ?614.4 mbps, 1.2288 gbps, 2.4576 gbps, and 3.072 gbps obsai?768 mbps, 1.536 gbps, and 3.072 gbps f for more information about deterministic latency implementation, refer to an 610: implementing deterministic latency for cpri and obsai protocols in stratix iv, hardcopy iv, arria ii gx, and cyclone iv devices . figure 1?67. transceiver configuration in deterministic latency mode functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) disabled deterministic latency 1, 4 data rate (gbps) disabled disabled disabled 0.6- 3.125 0.6- 1.5625 0.6- 3.125 0.6- 1.5625 0.6- 3.125 0.6- 1.5625 0.6- 3.125 0.6- 1.5625 16-bit disabled enabled enabled disabled enabled disabled enabled disabled enabled manual alignment (10-bit) bit slip (10-bit) 60- 156.25 8-bit 30- 156.25 60- 156.25 30- 156.25 60- 156.25 30- 156.25 60- 156.25 30- 156.25 disabled 20-bit disabled 10-bit disabled disabled disabled disabled disabled disabled 16-bit disabled enabled 8-bit disabled 20-bit disabled 10-bit
1?70 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation registered mode phase compensation fifo in deterministic latency mode, the rx phase compensation fifo is set to registered mode while the tx phase compensation fi fo supports optional registered mode. when set into registered mode, the phase co mpensation fifo acts as a register and eliminates the latency uncertainty through the fifos. receive bit-slip indication the number of bits slipped in the word aligner for synchronization in manual alignment mode is provided with the rx_bitslipboundaryselectout[4..0] signal. for example, if one bit is slipped in word aligner to achieve synchronization, the output on rx_bitslipboundaryselectout[4..0] signal shows a value of 1 (5'00001). the information from this signal helps in latency calculation through the receiver as the number of bits slippe d in the word aligner varies at each synchronization. transmit bit-slip control the transmitter datapath supports bit-slip control to delay the serial data transmission by a number of specified bits in pcs with tx_bitslipboundaryselect[4..0] port. with 8- or 10-bit channel width, the transmitter supports zero to nine bits of data slip. this feature helps to maintain a fixed round trip latency by compensating latency variation from word aligner when providing the appropriate values on t x_bitslipboundaryselect[4..0] port based on values on rx_bitslipboundaryselectout[4..0] signal. pll pfd feedback in deterministic latency mode, when transmitter input reference clock frequency is the same as the low-speed clock, the pll that clocks the transceiver supports pfd feedback. when enabled, the pll compensates for delay uncertainty in the low-speed clock ( tx_clkout in 1 configuration or coreclkout in 4 configuration) path relative to input reference and the transmitte r datapath latency is fixed relative to the transmitter input reference clock.
chapter 1: cyclone iv transceivers architecture 1?71 transceiver func tional modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 sdi mode sdi mode provides the non-bonded (1) tr ansceiver channel datapath configuration for hd- and 3g-sdi protocol implementations. cyclone iv gx transceivers configured in sdi mode provides the serialization and deserialization functions that support s the sdi data rates as listed in table 1?24 . 1 sdi functions such as scrambling/de-scra mbling, framing, and cyclic redundancy check (crc) must be implemented in the user logic. figure 1?68 shows the transceiver channel datapa th and clocking when configured in sdi mode. table 1?24. supported sdi data rates smpte standard (1) configuration data rate (mbps) fpga fabric-to- transceiver width byte serdes usage 292m high definition (hd) 1483.5 20-bit used 10-bit not used 1485 20-bit used 10-bit not used 424m third-generation (3g) 2967 20-bit used 2970 note to table 1?24 : (1) society of motion picture and television engineers (smpte). figure 1?68. transceiver channel datapath and clocking when configured in sdi mode note to figure 1?68 : (1) high-speed recovered clock. byte serializer 8b/10b encoder t r ansmi tt e r channel pcs t r ansmi tt e r channel pma serializer pcie hard ip fpga fab r ic pipe interface tx phase comp fifo tx_datain tx_dataout wr_clk rd_clk wr_clk rd_clk high-speed clock low-speed clock low-speed reco v ered clock tx_coreclk tx_clkout rx_clkout rx_coreclk receive r channel pcs receive r channel pma rx_dataout rx_datain deserial- izer cdr byte order- ing deskew fifo 8b/10b decoder rate match fifo cdr clock (1) word aligner rx phase comp fifo /2 /2 byte de- serializer
1?72 chapter 1: cyclone iv transceivers architecture transceiver functional modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 1?69 shows the transceiver co nfiguration in sdi mode. 1 altera recommends driving rx_bitslip port low in configuration where low-latency pcs is not enabled. in sdi systems, the word alignment and framing occurs after de-scrambling, which is implemented in the user logic. the word alignment therefore is not useful, and keeping rx_bitslip port low avoids the word aligner from inserting bits in the received data stream. figure 1?69. transceiver configuration in sdi mode functional mode channel bonding low-latency pcs word aligner (pattern length) 8b/10b encoder/decoder rate match fifo byte serdes byte ordering fpga fabric-to-transcei v er interface width fpga fabric-to-transcei v er interface fre q uency (mhz) disabled sdi 1 (hd or 3g) data rate (gbps) disabled disabled disabled hd - 1.4835/1.485 3g - 2.967/2.97 hd - 1.4835/1.485 hd - 74.175/74.25 3g - 148.35/148.5 hd - 74.175/74.25 20-bit disabled enabled enabled bit slip (7-bit, 10-bit) disabled 10-bit disabled disabled disabled disabled disabled hd - 1.4835/1.485 3g - 2.967/2.97 hd - 1.4835/1.485 hd - 74.175/74.25 3g - 148.35/148.5 hd - 74.175/74.25 20-bit disabled enabled 10-bit
chapter 1: cyclone iv transceivers architecture 1?73 loopback ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 loopback cyclone iv gx devices provide three loopba ck options that allow you to verify the operation of different functional blocks in the transceiver channel. the following loopback modes are available: reverse parallel loopback (available only for pipe mode) serial loopback (available fo r all modes except pipe mode) reverse serial loopback (available for all modes except xaui mode) 1 in each loopback mode, all transmitter buffer and receiver buffer settings are available if the buffers are active, unless stated otherwise. reverse parallel loopback the reverse parallel loopback option is only available for pipe mode. in this mode, the received serial data passes through the receiver cdr, deserial izer, word aligner, and rate match fifo before looping back to the transmitter serial izer and transmitted out through the tx buffer, as shown in figure 1?70 . the received data is also available to the fpga fabric. this loopback mode is compliant with version 2.00 of the phy interface for the pci express architecture specification. to enable the reverse parallel loopback mode, assert the tx_detectrxloopback port in p0 power state. figure 1?70. pipe reverse parallel loopback path (note 1) note to figure 1?70 : (1) grayed-out blocks are no t active in this mode. pipe if pcie hard ip fpga fabric rx pcs tx pcs tx pma serializer transceiver cdr deserial- izer rx pma reverse parallel loop b ack path rate match fifo w ord aligner
1?74 chapter 1: cyclone iv transceivers architecture loopback cyclone iv device handbook, volume 2 ? december 2010 altera corporation serial loopback the serial loopback option is available for all functional modes except pipe mode. in this mode, the data from the fpga fabric passes through the transmitter channel and looped back to the receiver channel, by passing the receiver buffer, as shown in figure 1?71 . the received data is available to the fpga logic for verification. the receiver input buffer is not active in this mode. with this option, you can check the operation of all enabled pcs and pma functional blocks in the transmitter and receiver channels. the transmitter channel sends the data to both the serial output port and the receiver channel. the differential output voltage on the serial ports is based on the selected v od settings. the data is looped back to the receiver cdr and is retimed through different clock domains. you must provide an alignment pattern for the word aligner to enable the receiver channel to retrieve the byte boundary. 1 serial loopback mode can only be dynamically enabled or disabled during user mode by performing a dynamic channel reconfiguration. figure 1?71. serial loopback path (note 1) note to figure 1?71 : (1) grayed-out blocks are no t active in this mode. tx pcs rx pcs tx pma serializer rx pma serial loop b ack path deserializer to fpga fabric for verication transceiver cdr fpga fabric
chapter 1: cyclone iv transceivers architecture 1?75 loopback ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 reverse serial loopback the reverse serial loopback mode is avai lable for all functional modes except for xaui mode. the two reverse serial loopba ck options from the receiver to the transmitter are: pre-cdr mode where data received through the rx input buffer is looped back to the tx output buffer using the reverse serial loopback (pre-cdr) option post-cdr mode where retimed data through the receiver cdr from the rx input buffer is looped back to the tx output buffer using the reverse serial loopback option the received data is also available to the fp ga logic. in the transmitter channel, only the transmitter buffer is active. 1 the transmitter pre-emphasis feature is not available in reverse se rial loopback (pre- cdr) mode. 1 reverse serial loopback modes can only be dynamically enabled or disabled during user mode by performing a dy namic channel reconfiguration. figure 1?72 shows the two paths in reverse serial loopback mode. figure 1?72. reverse serial loopback (note 1) notes to figure 1?72 : (1) grayed-out blocks are no t active in this mode. (2) post-cdr reverse serial loopback path. (3) pre-cdr reverse serial loopback path. tx pcs rx pcs tx pma serializer rx pma deserializer to fpga fabric for verication transceiver cdr tx pma (2) (3) fpga fabric
1?76 chapter 1: cyclone iv transceivers architecture self test modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation self test modes each transceiver channel in the cyclone iv gx device contains modules for pattern generator and verifier. using these built-in features, you can verify the functionality of the functional blocks in the transceiver cha nnel without requiring user logic. the self test functionality is provided as an op tional mechanism for debugging transceiver channels. there are three types of supported pattern generators and verifiers: built-in self test (bist) incremental data generator and verifier?test the complete transmitter pcs and receiver pcs datapaths for bit errors with parallel loopback before the pma blocks. pseudo-random binary sequ ence (prbs) generator and verifier?the prbs generator and verifier interface with the serializer and deserializer in the pma blocks. the advantage of using a prbs data stream is that the randomness yields an environment that stresses the transm ission medium. in the data stream, you can observe both random jitter and determ inistic jitter using a time interval analyzer, bit error rate tester, or oscilloscope. high frequency and low frequency pattern generator?the high frequency patterns generate alternate ones and zeros and the low frequency patterns generate five ones and five zeroes. these patterns do not have a corresponding verifier. 1 the self-test features are only supported in basic mode. bist figure 1?73 shows the datapath for bist incremental data pattern test mode. the bist incremental data generator and verifier are located near the fpga fabric in the pcs block of the transceiver channel. figure 1?73. bist incremental pattern test mode datapath transceiver receiver cdr receiver channel pma serializer transmitter channel pma receiver channel pcs transmitter channel pcs tx phase compensation fifo bist incremental pattern generator 8 b/10b encoder byte serializer rx compensation fifo bist incremental pattern verifier 8 b/10b decoder w ord aligner parallel loop b ack path byte deserial- izer byte ordering de- serializer fpga fabric
chapter 1: cyclone iv transceivers architecture 1?77 self test modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 the incremental pattern generator and verifi er are 16-bits wide. the generated pattern increments from 00 to ff and passes throug h the tx pcs blocks, parallel looped back to rx pcs blocks, and checked by the verifier . the pattern is also available as serial data at the tx_dataout port. the differential output vo ltage of the transmitted serial data on the tx_dataout port is based on the selected v od settings. the incremental data pattern is not available to the fpga logic at the receiver for verification. the following are the transceiver channe l configuration settings in this mode: pcs-fpga fabric channel width: 16-bit 8b/10b blocks: enabled byte serializer/deserializer: enabled word aligner: automatic sync hronization state machine mode byte ordering: enabled the rx_bisterr and rx_bistdone signals indicate the stat us of the verifier. the rx_bisterr signal is asserted and stays high when detecting an error in the data. the rx_bistdone signal is asserted and stays high when the verifier either receives a full cycle of incremental pattern or it dete cts an error in the receiver data. you can reset the incremental pattern generator and verifier by asserting the tx_digitalreset and rx_digitalreset ports, respectively. prbs figure 1?74 shows the datapath for the prbs, high and low frequency pattern test modes. the pattern generator is located in tx pcs before the serializer, and prbs pattern verifier located in rx pcs after the word aligner. figure 1?74. prbs pattern test mode datapath note to figure 1?74 : (1) serial loopback path is optiona l and can be enabled for the prbs verifier to check the prbs pattern transceiver receiver channel pma transmitter channel pma receiver channel pcs transmitter channel pcs tx phase compensation fifo prbs, high freq, lo w freq pattern generator 8 b/10b encoder byte serializer rx compensation fifo prbs verifier 8 b/10b decoder rate match fifo w ord aligner byte deserializer byte ordering (1) de- serializer serializer receiver cdr fpga fabric
1?78 chapter 1: cyclone iv transceivers architecture self test modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 1?25 lists the supported prbs, high and low frequency patterns, and corresponding channel settings. the prbs pattern repeats after completing an iteration. the number of bits a prbs x pa ttern sends before repeating the pattern is 2 (x-1) bits. you can enable the serial loopback option to loop the generated prbs patterns to the receiver channel for verifier to check the prbs patterns. when the prbs pattern is received, the rx_bisterr and rx_bistdone signals indicate the status of the verifier. after the word aligner restores the word boundary, the rx_bistdone signal is driven high when the verifier receiv es a complete pattern cycle and remains asserted until it is reset using the rx_digitalreset port. after the assertion of rx_bistdone , the rx_bisterr signal is asserted for a minimum of three rx_clkout cycles when errors are detected in the data and deasserts if the following prbs sequence contains no error. you can reset the prbs pattern generator and verifier by asserting the tx_digitalreset and rx_digitalreset ports, respectively. table 1?25. prbs, high and low frequency patterns, and channel settings patterns polynomial 8-bit channel width 10-bit channel width channel width of 8bits (1) word alignment pattern maximum data rate (gbps) for f324 and smaller packages maximum data rate (gbps) for f484 and larger packages channel width of 10-bits (1) word alignment pattern maximum data rate (gbps) for f324 and smaller packages maximum data rate (gbps) for f484 and larger packages prbs 7 x 7 + x 6 + 1 y 16?h3040 2.0 2.5 n ? ? ? prbs 8 x 8 + x 7 + 1 y 16?hff5a 2.0 2.5 n ? ? ? prbs 10 x 10 + x 7 + 1 n ? ? ? y 10?h3ff 2.5 3.125 prbs 23 x 23 + x 18 + 1 y 16?hffff 2.0 2.5 n ? ? ? high frequency (2) 1010101010 y ? 2.0 2.5 y ? 2.5 3.125 low frequency (2) 1111100000 n ? ? ? y ? 2.5 3.125 notes to table 1?25 : (1) channel width refers to the what is the channel width? option in the general screen of the altgx megawizard plug-in manager. based on the selection, an 8 or 10 bits wide pattern is generated as indicated by a yes (y) or no (n) . (2) a verifier and associated rx_bistdone and rx_bisterr signals are not available for the specified patterns.
chapter 1: cyclone iv transceivers architecture 1?79 transceiver top-l evel port lists ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 transceiver top-level port lists table 1?26 through table 1?29 provide descriptions of the ports available when instantiating a transceiver using the altgx megafunction. the altgx megafunction requires a relatively small number of s ignals. there are also a large number of optional signals that facilitate debugging by providing information about the state of the transceiver. table 1?26. transmitter ports in altgx megafunction for cyclone iv gx block port name input/ output clock domain description tx pcs tx_datain input synchronous to tx_clkout (non-bonded modes) or coreclkout (bonded modes) parallel data input from the fpga fabric to the transmitter. bus width depends on channel width multiplied by number of channels per instance. tx_clkout output clock signal fpga fabric-transmi tter interface clock in non-bonded modes each channel has a tx_clkout signal that can be used to clock data ( tx_datain ) from the fpga fabric into the transmitter. tx_coreclk input clock signal optional write clock port for the tx phase compensation fifo. tx_phase_comp_ fifo_error output synchronous to tx_clkout (non-bonded modes) or coreclkout (bonded modes) tx phase compensa tion fifo full or empty indicator. a high level indicates fifo is either full or empty. tx_ctrlenable input synchronous to tx_clkout (non-bonded modes) or coreclkout (bonded modes) 8b/10b encoder control or data identifier. this signal passes through the tx phase compensation fifo. a high level to encode data as a /kx.y/ control code group. a low level to enc ode data as a /dx. y/ data code group. tx_forcedisp input synchronous to tx_clkout (non-bonded modes) or coreclkout (bonded modes) 8b/10b encoder forcing disparit y control. this signal passes through the tx phase compensation fifo. a high level to force encodi ng to positive or negative disparity depending on the tx_dispval signal level. a low level to allow defaul t encoding according to the 8b/10b running disparity rules. tx_dispval input synchronous to tx_clkout (non-bonded modes) or coreclkout (bonded modes) 8b/10b encoder forcing dispar ity value. this signal passes through the tx phase compensation fifo. a high level to force encoding wi th a negative disparity code group when tx_forcedisp port is asserted high. a low level to force encoding with a positive disparity code group when tx_forcedisp port is asserted high. tx_invpolarity input asynchronous signal. minimum pulse width is two parallel clock cycles. transmitter polarity inversion control. a high level to invert the polarit y of every bit of the 8- or 10- bit input data to the serializer. tx_bitslipboun daryselect input asynchronous signal. control the number of bits to slip before serializer. valid values from 0 to 9 tx pma tx_dataout output ? transmitter serial data output signal. tx_forceelec idle input asynchronous signal. force the transmitter buffer to pipe electrical idle signal levels. for equivalent signal de fined in pipe 2.00 specification, refer to table 1?15 on page 1?50 .
1?80 chapter 1: cyclone iv transceivers architecture transceiver top-le vel port lists cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 1?27. receiver ports in altgx megafunction for cyclone iv gx (part 1 of 3) block port name input/ output clock domain description rx pcs rx_syncstatus output synchronous to tx_clkout (non- bonded modes with ra te match fifo), rx_clkout (non-bonded modes without rate match fifo), coreclkout (bonded modes), or rx_coreclk (when using the optional rx_coreclk input) word alignment synchronizati on status indicator. this signal passes through the rx phase compensation fifo. not available in bit-slip mode rx_patternde tect output synchronous to tx_clkout (non- bonded modes with ra te match fifo), rx_clkout (non-bonded modes without rate match fifo), coreclkout (bonded modes), or rx_coreclk (when using the optional rx_coreclk input) indicates when the word al ignment logic detects the alignment pattern in the current word boundary. this signal passes through the rx ph ase compensation fifo. rx_bitslip input asynchronous signal. minimum pulse width is two parallel clock cycles. bit-slip control for the word aligner configured in bit-slip mode. at every rising edge, word aligner slips one bit into the received data stream, effectively shifting the word boundary by one bit. rx_rlv output asynchronous signal. driven for a minimum of two recovered clock cycles in configurat ions without byte serializer and a minimum of three recovered clock cycles in configurations with byte serializer. run-length violation indicator. a high pulse indicates that th e number of consecutive 1s or 0s in the received data stream exceeds the programmed run length violation threshold. rx_invpolarity input asynchronous signal. minimum pulse width is two parallel clock cycles. generic receiver polarit y inversion control. a high level to invert the polarit y of every bit of the 8- or 10-bit data to the word aligner. rx_enapattern align input asynchronous signal. controls the word aligner op eration configured in manual alignment mode. rx_rmfifodata inserted output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) rate match fifo insertion status indicator. a high level indicates the ra te match pattern byte is inserted to compensate for the ppm difference in the reference clock frequencies between the upstream transmitter and the local receiver. rx_rmfifodata deleted output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) rate match fifo deleti on status indicator. a high level indicates the ra te match pattern byte is deleted to compensate for the ppm difference in the reference clock frequencies between the upstream transmitter and the local receiver.
chapter 1: cyclone iv transceivers architecture 1?81 transceiver top-l evel port lists ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 rx pcs rx_rmfifofull output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) rate match fifo full status indicator. a high level indicates the rate match fifo is full. driven for a minimum of two serial clock cycles in configurations without a byte serializer and a minimum of three recovered clock cycles in configurations with a byte serializer. rx_rmfifoempty output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) rate match fifo empty status indicator. a high level indicates the rate match fifo is empty. driven for a minimum of two serial clock cycles in configurations without a byte serializer and a minimum of three recovered clock cycles in configurations with a byte serializer. rx_ctrldetect output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) 8b/10b decoder control or data identifier. a high level indicates receiv ed code group is a /kx.y/ control code group. a low level indicates received code group is a /dx.y/ data code group. rx_errdetect output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) 8b/10b code group violation or disparity error indicator. a high level indicates that a code group violation or disparity error was detected on the associated received code group. use with the rx_disperr signal to differentiate between a code group violatio n or a disparity error as follows:[ rx_errdetect : rx_disperr ] ? 2'b00?no error ? 2'b10?code group violation ? 2'b11?disparity error or both rx_disperr output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) 8b/10b disparity error indicator. a high level indicates that a disparity error was detected on the associated rece ived code group. rx_runningdisp output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) 8b/10b current running disparity indicator. a high level indica tes a positive current running disparity at the end of the decoded byte a low level indicate s a negative current running disparity at the end of the decoded byte rx_enabyteord input asynchronous signal enable byte ordering control a low-to-high transition triggers the byte ordering block to restart byte ordering operation. rx_byteorder alignstatus output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) byte ordering status indicator. a high level indicates that the byte ordering block has detected the programmed byte ordering pattern in the least significant byte of the received data from the byte deserializer. rx_dataout output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) parallel data output from the receiver to the fpga fabric. bus width depends on channel width multiplied by number of channels per instance. rx_clkout output clock signal fpga fabric-receiver interface clock when rate match fifo is not used. table 1?27. receiver ports in altgx megafunction for cyclone iv gx (part 2 of 3) block port name input/ output clock domain description
1?82 chapter 1: cyclone iv transceivers architecture transceiver top-le vel port lists cyclone iv device handbook, volume 2 ? december 2010 altera corporation rx pcs rx_coreclk output clock signal optional read clock port for the rx phase compensation fifo. rx_phase_comp_ fifo_error output synchronous to tx_clkout (non- bonded modes) or coreclkout (bonded modes) rx phase compensation fifo full or empty indicator. a high level indicates fifo is either full or empty. rx_bitslipboun daryselectout output asynchronous signal. indicate the number of bits slipped in the word aligner configured in manual alignment mode. values range from 0 to 9. rx pma rx_datain input n/a receiver seri al data input port. rx_freqlocked output asynchronous signal receiver cdr lock state indicator a high level indicates the cdr is in ltd state. a low level indicates the cdr is in ltr state. rx_locktodata output asynchronous signal receiver cdr ltd state control signal a high level forces the cdr to ltd state when deasserted, the receiver cdr lock state depends on the rx_locktorefclk signal level. rx_locktoref clk output asynchronous signal receiver cdr ltr state control signal. the rx_locktorefclk and rx_locktodata signals control whether the receiver cdr states as follows: [ rx_locktodata : rx_locktorefclk ] ? 2'b00?receiver cdr is in automatic lock mode ? 2b'01?receiver cdr is in manual lock mode (ltr state) ? 2b'1x?receiver cdr is in manual lock mode (ltd state) rx_signalde tect output asynchronous signal signal threshold de tect indicator. available in basic mode wh en 8b/10b encoder/decoder is used, and in pipe mode. a high level indicates that the signal present at the receiver input buf fer is above the programmed signal detection threshold value. rx_recovclkout output clock signal cdr low-speed recovered clock only available in the gige mode for applications such as synchronous ethernet. table 1?27. receiver ports in altgx megafunction for cyclone iv gx (part 3 of 3) block port name input/ output clock domain description
chapter 1: cyclone iv transceivers architecture 1?83 transceiver top-l evel port lists ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 table 1?28. pipe interface ports in altgx megafunction for cyclone iv gx (note 1) (part 1 of 2) port name input/ output clock domain description fixedclk input clock signal 125-mhz clock for receiver detect a nd offset cancellation only in pipe mode. tx_detectrx loop input asynchronous signal receiver detect or reverse parallel loopba ck control. a high level in the p1 power state and tx_forceelecidle signal asserted begins the receiver detectio n operation to determine if there is a valid receiver downstream. this si gnal must be deasserted when the pipephydonestatus signal indicates receiver detect completion. a high level in the p0 power state with the tx_forceelecidle signal deasserted dyna mically configures the channel to support reverse parallel loopback mode. tx_forcedisp compliance input asynchronous signal force the 8b/10b encoder to encode with negative running disparity. assert only when transmitting the first byte of th e pipe-compliance pattern to force the 8b/10b encoder with a negative running disparity. pipe8b10binvpo larity input asynchronous signal invert the polarity of every bit of the 10-bit input to the 8b/10b decoder powerdn input asynchronous signal pipe power state control. signal is 2 bits wide a nd is encoded as follows: ? 2'b00: p0 (normal operation) ? 2'b01: p0s (low recovery time latency, low power state) ? 2'b10: p1 (longer recovery time latency, lower power state) ? 2'b11: p2 (lowest power state) pipedatavalid output n/a valid data and control on the rx_dataout and rx_ctrldetect ports indicator. pipephydone status output asynchronous signal phy function completion indicator. asserted for one clock cycle to communicate completion of several phy functions, such as power state transition and receiver detection. pipeelecidle output asynchronous signal electrical idle detected or inferred at the receiver indicator. when electrical idle inference is used , this signal is driven high when it infers an electrical idle condition when electrical idle inference is not used, the rx_signaldetect signal is inverted and driven on this port. pipestatus output n/a pipe receiver status port. signal is 3 bits wide a nd is encoded as follows: ? 3'b000: received data ok ? 3'b001: one skp symbol added ? 3'b010: one skp symbol removed ? 3'b011: receiver detected ? 3'b100: 8b/10b decoder error ? 3'b101: elastic buffer overflow ? 3'b110: elastic buffer underflow ? 3'b111: received disparity error
1?84 chapter 1: cyclone iv transceivers architecture transceiver top-le vel port lists cyclone iv device handbook, volume 2 ? december 2010 altera corporation rx_elecidle infersel input n/a controls the electrical idle infe rence mechanism as specified in table 1?17 on page 1?53 note to table 1?28 : (1) for equivalent signals defined in pipe 2.00 specification, refer to table 1?15 on page 1?50 . table 1?29. multipurpose pll, general purpose pll and miscellaneous ports in altgx megafunction for cyclone iv gx (part 1 of 2) block port name input/ output clock domain description pll pll_inclk input clock signal input reference clock for the pl l (multipurpose pll or general purpose pll) used by the transcei ver instance. when configured with the transmitter and receiv er channel configuration in deterministic latenc y mode, multiple pll_inclk ports are available as follows. configured with pll pfd feedback ?x is the number of channels selected: pll_inclk[x-1..0] are input referenc e clocks for each transmitter in the transceiver instance pll_inclk[x+1..x] are input refere nce clocks for receivers in the transceiver instance configured without pll pfd feedback: pll_inclk[0] is input reference clock for transmitters in the transceiver instance pll_inclk[1] is input reference clock for receivers in the transceiver instance pll_locked output asynchronous signal pll (used by the transceiver instance) lock indicator. pll_areset input asynchronous signal pll (used by the transceiver instance) reset. when asserted, the pll is kept in reset state. when deasserted, the pll is ac tive and locks to the input reference clock. coreclkout output clock signal fpga fa bric-transceiver interf ace clock in bonded modes. table 1?28. pipe interface ports in altgx megafunction for cyclone iv gx (note 1) (part 2 of 2) port name input/ output clock domain description
chapter 1: cyclone iv transceivers architecture 1?85 transceiver top-l evel port lists ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 reset & power down gxb_powerdown input asynchronous signal transceiver block power down. when asserted, all digital and analog circuitry in the pcs, hssi, cdr, and pcie modules are powered down. asserting the gxb_powerdown signal does not power down the refclk buffers. tx_digitalreset input asynchronous signal. the minimum pulse width is two parallel clock cycles. transmitter pcs reset. when asserted, the transmitter pcs blocks are reset. rx_analogreset input asynchronous signal. the minimum pulse width is two parallel clock cycles. receiver pma reset. when asserted, analog circuitry in the receiver pma block is reset. rx_digitalreset input asynchronous signal. the minimum pulse width is two parallel clock cycles. receiver pcs reset. when asserted, the receiver pcs blocks are reset. reconfigu ration reconfig_clk input clock signal dynamic reconfi guration clock. also used for offset cance llation except in pipe mode. for the supported frequency range for this clock, refer to the cyclone iv device data sheet chapter. reconfig_togxb input asynchronous signal from the dyna mic reconfiguration controller. reconfig_fromgxb output asynchronous signal to the dy namic reconfiguration controller. calibration block cal_blk_clk input clock signal clock for the transceiver calibration block. cal_blk_powerdown input asynchronous signal calibrati on block power down control. test mode rx_bistdone output asynchronous signal bist or prbs test completion indicator. a high level during bist test mode indicates the verifier either receives complete pattern cycle or detects an error and stays asserted until bein g reset using the rx_digitalreset port. a high level during prbs test mode indicates the verifier receives complete pattern cycle and stays asserted until being reset using the rx_digitalreset port. rx_bisterr output asynchronous signal bist or prbs verifier error indicator in bist test mode, the signal stays asserted upon detecting an error until being reset using the rx_digitalreset port. in prbs test mode, the signal asserts for a minimum of 3 rx_clkout clock cycles upon de tecting an error and deasserts if the following prbs sequence contains no error. table 1?29. multipurpose pll, general purpose pll and miscellaneous ports in altgx megafunction for cyclone iv gx (part 2 of 2) block port name input/ output clock domain description
1?86 chapter 1: cyclone iv transceivers architecture document revision history cyclone iv device handbook, volume 2 ? december 2010 altera corporation document revision history table 1?30 lists the revision history for this chapter. table 1?30. document revision history date revision changes made december 2010 3.2 updated for the quartus ii software version 10.1 release. updated table 1?1 , table 1?5 , table 1?11 , table 1?14 , table 1?24 , table 1?25 , table 1?26 , table 1?27 , table 1?28 , and table 1?29 . updated ?8b/10b encoder? , ?transmitter output buffer? , ?receiver input buffer? , ?clock data recovery? , ?miscellaneous transmitter pcs features? , ?miscellaneous receiver pcs feature? , ?input reference clocking? , ?pci express (pipe) mode? , ?channel deskewing? , ?lane synchronization? , ?serial loopback? , and ?self test modes? sections. added figure 1?9 , figure 1?10 , figure 1?19 , figure 1?20 , and figure 1?43 . updated figure 1?53 , figure 1?55 , figure 1?59 , figure 1?60 , figure 1?69 , figure 1?70 , figure 1?71 , figure 1?72 , figure 1?73 , and figure 1?74 . november 2010 3.1 updated introductory information. july 2010 3.0 updated information for the quartus ii software version 10.0 release. reset control, power down, and dynamic reconfiguration information moved to new cyclone iv reset control and power down and cyclone iv dynamic reconfiguration chapters.
? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 2. cyclone iv reset control and power down cyclone ? iv gx devices offer multiple reset sign als to control transceiver channels independently. the altgx transceiver megawizard ? plug-in manager provides individual reset signals for each channel instantiated in your design. it also provides one power-down signal for each transceiver block. this chapter includes the following sections: ?user reset and power-down signals? on page 2?1 ?transceiver reset sequences? on page 2?4 ?dynamic reconfiguration reset sequences? on page 2?18 ?power down? on page 2?21 ?simulation requirements? on page 2?22 ?reference information? on page 2?22 figure 2?1 shows the reset control and power-down block for a cyclone iv gx device. user reset and power-down signals each transceiver channel in the cyclone iv g x device has individual reset signals to reset its physical coding sublayer (pcs) and physical medium attachment (pma). the transceiver block also has a power-down signal that affects the multipurpose phase-locked loops (plls), general purpose plls, and all the channels in the transceiver block. 1 all reset and power-down signals are asynchronous. figure 2?1. reset control and power-down block reset controller tx_digitalreset rx_digitalreset rx_analogreset pll_areset gx b _po w erdo w n cyiv-52002-1.1
2?2 chapter 2: cyclone iv rese t control and power down user reset and power-down signals cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 2?1 lists the reset signals available for each transceiver channel. table 2?2 lists the power-down signals available for each transceiver block. table 2?1. transceiver channel reset signals signal altgx megawizard plug-in manager configurations description tx_digitalreset (1) transmitter only receiver and transmitter provides asynchronous reset to all digital logic in the transmitter pcs, including the xaui transmit state machine. the minimum pulse width for this signal is two parallel clock cycles. rx_digitalreset (1) receiver only receiver and transmitter resets all digital logic in the receiver pcs, including: xaui receiver state machines gige receiver state machines xaui channel alignment state machine bist-prbs verifier bist-incremental verifier the minimum pulse width for this signal is two parallel clock cycles. rx_analogreset receiver only receiver and transmitter resets the receiver cdr present in the receiver channel. the minimum pulse width is two parallel clock cycles. note to table 2?1 : (1) assert this signal until the clocks comi ng out of the multipurpose pll and receiver cdr are stabilized. stable parallel cloc ks are essential for proper operation of transm itter and receiver phase-co mpensation fifos in the pcs. table 2?2. transceiver block power-down signals (part 1 of 2) signal description pll_areset resets the transceiver pll. the pll_areset signal is asserted in two conditions: during reset sequence, the signal is asserted to reset the transceiver pll. this signal is controlled by the user. after the transceiver pll is reconfigured, the signal is asserted high by the altpll_reconfig controller. this signal is not controlled by the user. gxb_powerdown powers down the entire transceiver block. when this signal is asserted, this signal powers down the pcs and pma in all the transceiver channels. this signal operates independently from the other reset signals. this signal is common to the transceiver block. pll_locked a status signal. indicates the status of the transmitter multipurpose plls or general purpose plls. a high level?indicates the multipurpose pll or general purpose pll is locked to the incoming reference clock frequency.
chapter 2: cyclone iv rese t control a nd power down 2?3 user reset and power-down signals ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 1 for more information about offset cancellation, refer to the cyclone iv dynamic reconfiguration chapter. 1 if none of the channels is instantiat ed in a transceiver block, the quartus ? ii software automatically powers down the entire transceiver block. blocks affected by the re set and power-down signals table 2?3 lists the blocks that are affected by specific reset and power-down signals. rx_freqlocked a status signal. indicates the status of the receiver cdr lock mode. a high level?the receiver is in lock-to-data mode. a low level?the receiver cdr is in lock-to-reference mode. busy a status signal. an output from the altgx_reconfig block indicates the status of the dynamic reconfiguration controller. this signal remains low for the first reconfig_clk clock cycle after power up. it then gets asserted from the second reconfig_clk clock cycle. assertion on this signal indicates that the offset cancellation process is being executed on the receiver buffer as well as the receiver cdr. when this signal is deasserted, it indicates that offset cancellation is complete. this busy signal is also used to indicate the dynamic reconfiguration duration such as in analog reconfiguration mode and channel reconfiguration mode. table 2?2. transceiver block power-down signals (part 2 of 2) signal description table 2?3. blocks affected by reset and power-down signals (part 1 of 2) transceiver block rx_digitalreset rx_analogreset tx_digitalreset pll_areset gxb_powerdown multipurpose plls and general purpose plls ??? v ? transmitter phase compensation fifo ?? v ? v byte serializer ? ? v ? v 8b/10b encoder ? ? v ? v serializer ? ? v ? v transmitter buffer ? ? ? ? v transmitter xaui state machine ?? v ? v receiver buffer ? ? ? ? v receiver cdr ? v ?? v receiver deserializer ? ? ? ? v receiver word aligner v ??? v receiver deskew fifo v ??? v receiver clock rate compensation fifo v ??? v receiver 8b/10b decoder v ??? v receiver byte deserializer v ??? v
2?4 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation transceiver reset sequences you can configure transceiver channels in cyclone iv gx devices in various configurations. in all functional modes ex cept xaui functional mode, transceiver channels can be either bonded or non-bond ed. in xaui functional mode, transceiver channels must be bonded. in pci express ? (pcie ? ) functional mode, transceiver channels can be either bonded or non-bond ed and need to follow a specific reset sequence. the two categories of reset sequences fo r cyclone iv gx devices described in this chapter are: ?all supported functional modes except the pcie functional mode? on page 2?5 ?describes the reset sequences in bonded and non-bonded configurations. ?pcie functional mode? on page 2?16 ?describes the reset sequence for the initialization/compliance phase and the normal operation phase in pcie functional modes. 1 the busy signal remains low for the first reconfig_clk clock cycle. it then gets asserted from the second reconfig_clk clock cycle. subseque nt deassertion of the busy signal indicates the completion of th e offset cancellation process. this busy signal is required in transceiver reset se quences except for transmitter only channel configurations. refer to the reset sequences shown in figure 2?2 and the associated references listed in the notes for the figure. 1 altera strongly recommends adhering to thes e reset sequences for proper operation of the cyclone iv gx transceiver. receiver byte ordering v ??? v receiver phase compensation fifo v ??? v receiver xaui state machine v ??? v bist verifiers v ??? v table 2?3. blocks affected by reset and power-down signals (part 2 of 2) transceiver block rx_digitalreset rx_analogreset tx_digitalreset pll_areset gxb_powerdown
chapter 2: cyclone iv rese t control a nd power down 2?5 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 2?2 shows the transceiver reset sequences for cyclone iv gx devices. all supported functional modes except the pcie functional mode this section describes reset sequences for transceiver channels in bonded and non-bonded configurations. timing diagra ms of some typical configurations are shown to facilitate proper reset sequence implementation. in these functional modes, you can set the receiver cdr either in automatic lock or manual lock mode. 1 in manual lock mode, the receiver cdr locks to the reference clock (lock-to-reference) or the incoming serial data (lock-to-dat a), depending on the logic levels on the rx_locktorefclk and rx_locktodata signals. with the receiver cdr in manual lock mode, you can either configure the transceiver channels in the cyclone iv gx device in a non-bonded configuration or a bonded configuration. in a bonded configuration, for example in xaui mode , four channels are bonded together. figure 2?2. transceiver reset sequences chart notes to figure 2?2 : (1) refer to the timing diagram in figure 2?10 . (2) refer to the timing diagram in figure 2?3 . (3) refer to the timing diagram in figure 2?4 . (4) refer to the timing diagram in figure 2?5 . (5) refer to the timing diagram in figure 2?6 . (6) refer to the timing diagram in figure 2?7 . (7) refer to the timing diagram in figure 2?8 . (8) refer to the timing diagram in figure 2?9 . transceiver initialization reset sequences all supported functional modes except pci express (pcie) pci express (pipe) initialization/ compliance and normal operation phases (1) receiver cdr in automatic lock mode (7) receiver cdr in manual lock mode (8) receiver cdr in manual lock mode (6) receiver cdr in automatic lock mode (5) ?receiver only? channel ?receiver and transmitter? channel non-bonded bonded ?transmitter only? channel (2) ?transmitter only? channel (2) ?receiver and transmitter? channel receiver cdr in automatic lock mode (3) receiver cdr in manual lock mode (4) dynamic reconfiguration reset sequence for channel reconfiguration mode reset sequence for pll reconfiguration mode
2?6 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 2?4 lists the lock-to-reference (ltr) and lock-to-data (ltd) controller lock modes for the rx_locktorefclk and rx_locktodata signals. bonded channel configuration in a bonded channel configuration, yo u can reset all the bonded channels simultaneously. examples of bonded channe l configurations are the xaui, pcie gen1 2 and 4, and basic 2 and 4 functional modes. in basic 2 and 4 functional mode, you can bond transmitter only channels together. in xaui mode, the receiver and transmitter channels are bonded. each of the receiver channels in this mode has its own rx_freqlocked output status signals. you must consider the timing of these signals in the reset sequence. table 2?5 lists the reset and power-down sequences for bonded configurations under the stated functional modes. transmitter only channel this configuration contains only a tr ansmitter channel. if you create a transmitter only instance in the altgx megawizard plug-in manager in basic 4 functional mode, use the reset sequence shown in figure 2?3 . table 2?4. lock-to-reference and lock-to-data modes rx_locktorefclk rx_locktodata ltr/ltd controller lock mode 1 0 manual, ltr mode ? 1 manual, ltd mode 0 0 automatic lock mode table 2?5. reset and power-down sequences for bonded channel configurations channel set up receiver cdr mode refer to transmitter only basic 2 and 4 ?transmitter only channel? on page 2?6 receiver and transmitter automatic lock mode for xaui functional mode ?receiver and transmitter channel?receiver cdr in automatic lock mode? on page 2?7 receiver and transmitter manual lock mode for xaui functional mode ?receiver and transmitter channel?receiver cdr in manual lock mode? on page 2?9 figure 2?3. sample reset sequence for bonded and non-bonded configuration transmitter only channels reset and power-down si g nals 12 1 ? s 4 output status si g nals 3 pll_areset tx_digitalreset pll_locked
chapter 2: cyclone iv rese t control a nd power down 2?7 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 as shown in figure 2?3 , perform the following reset procedure for the transmitter only channel configuration: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). 2. keep the tx_digitalreset signal asserted during this time period. after you de-assert the pll_areset signal, the multipurpose pll starts locking to the transmitter input reference clock. 3. when the multipurpose pll locks, as indicated by the pll_locked signal going high (marker 3), de-assert the tx_digitalreset signal (marker 4). at this point, the transmitter is ready for transmitting data. receiver and transmitter channel?receiver cdr in automatic lock mode this configuration contains both a transmitter and receiver channel. when the receiver cdr is in automatic lock mo de, use the reset sequence shown in figure 2?4 . figure 2?4. sample reset sequence for bonded configuration receiver and transmitter channels?receiver cdr in automatic lock mode notes to figure 2?4 : (1) the number of rx_freqlocked[n] signals depend on the number of channels configured. n =number of channels. (2) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (3) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals output status signals 12 3 4 7 7 6 8 5 two parallel clock cycles 1 s pll_areset tx_digitalreset rx_analogreset rx_digitalreset pll_locked busy (3) rx_freqlocked[0] rx_freqlocked[n] (1) t ltd_auto (2)
2?8 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation as shown in figure 2?4 , perform the following reset procedure for the receiver cdr in automatic lock mode configuration: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). 2. keep the tx_digitalreset , rx_analogreset , and rx_digitalreset signals asserted during this time period. after you deassert the pll_areset signal, the multipurpose pll starts locking to the input reference clock. 3. after the multipurpose pll locks, as indicated by the pll_locked signal going high, deassert the tx_digitalreset signal. at this point, the transmitter is ready for data traffic. 4. for the receiver operation, after deassertion of busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. 5. wait for the rx_freqlocked signal from each channel to go high. the rx_freqlocked signal of each channel may go hi gh at different times (indicated by the slashed pattern at marker 7). 6. in a bonded channel group, when the rx_freqlocked signals of all the channels has gone high, from that point onwards, wait for at least t ltd_auto time for the receiver parallel clock to be stable, then deassert the rx_digitalreset signal (marker 8). at this point, all the receivers are ready for data traffic.
chapter 2: cyclone iv rese t control a nd power down 2?9 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 receiver and transmitter channel?receiver cdr in manual lock mode this configuration contains both a transmitter and receiver channel. when the receiver cdr is in manual lock mo de, use the reset sequence shown in figure 2?5 . as shown in figure 2?5 , perform the following reset procedure for the receiver cdr in manual lock mode configuration: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). 2. keep the tx_digitalreset , rx_analogreset , rx_digitalreset , and rx_locktorefclk signals asserted and the rx_locktodata signal deasserted during this time period . after you deassert the pll_areset signal, the multipurpose pll starts locking to the input reference clock. figure 2?5. sample reset sequence for bonded configuration receiver and transmitter channels?receiver cdr in manual lock mode notes to figure 2?5 : (1) for t ltd_manual duration, refer to the cyclone iv device datasheet chapter. (2) the number of rx_locktorefclk[n] and rx_locktodata[n] signals depend on the number of channels configured. n =number of channels. (3) for t ltr_ltd_manual duration, refer to the cyclone iv device datasheet chapter. (4) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals output status signals 12 3 4 8 cdr control signals 6 7 7 5 two parallel clock cycles rx_locktodata[0] 7 7 rx_locktodata[n] (2) 1 s pll_areset (txurstpcs) tx_digitalreset (rxurstpma) rx_analogreset (rxurstpcs) rx_digitalreset rx_locktorefclk[0] rx_locktorefclk[n] (2) pll_locked busy (4) t ltr_ltd_manual (3) t ltd_manual (1)
2?10 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation 3. after the multipurpose pll locks, as indicated by the pll_locked signal going high (marker 3), deassert the tx_digitalreset signal (marker 4). for the receiver operation, after deassertion of the busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. 4. in a bonded channel group, wait for at least t ltr_ltd_manual , then deassert rx_locktorefclk and assert rx_locktodata (marker 7). at this point, the receiver cdr of all the channels enters into lock-to-data mode and starts locking to the received data. 5. after asserting the rx_locktodata signal, wait for at least t ltd_manual before deasserting rx_digitalreset (the time between markers 7 and 8). at this point, the transmitter and receiver are ready for data traffic. non-bonded channel configuration in non-bonded channels, each channel in the altgx megawizard plug-in manager instance contains its own tx_digitalreset , rx_analogreset , rx_digitalreset , and rx_freqlocked signals. you can reset each channel independently. for example, if there are four non-bonded channels, the altgx megawizard plug-in manager provides four each of the following signals: tx_digitalreset , rx_analogreset , rx_digitalreset , and rx_freqlocked . table 2?6 lists the reset and power-down sequences for one channel in a non-bonded configuration under the st ated functional modes. 1 follow the same reset sequence for all the other channels in the non-bonded configuration. transmitter only channel this configuration contains only a tr ansmitter channel. if you create a transmitter only instance in the altgx megawizard plug-in manager, use the same reset sequence shown in figure 2?3 on page 2?6 . receiver only channel?receiver cdr in automatic lock mode this configuration contains only a receiver channel. if you create a receiver only instance in the altgx megawizard plug-in manager with the receiver cdr in automatic lock mode, use the reset sequence shown in figure 2?6 . table 2?6. reset and power-down sequences for non-bonded channel configurations channel set up receiver cdr mode refer to transmitter only basic 1 ?transmitter only channel? on page 2?10 receiver only automatic lock mode ?receiver only channel?receiver cdr in automatic lock mode? on page 2?10 receiver only manual lock mode ?receiver only channel?receiver cdr in manual lock mode? on page 2?12 receiver and transmitter automatic lock mode ?receiver and transmitter channel?receiver cdr in automatic lock mode? on page 2?13 receiver and transmitter manual lock mode ?receiver and transmitter channel?receiver cdr in manual lock mode? on page 2?14
chapter 2: cyclone iv rese t control a nd power down 2?11 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 as shown in figure 2?6 , perform the following reset procedure for the receiver in cdr automatic lock mode: 1. after power up, wait for the busy signal to be deasserted. 2. keep the rx_digitalreset and rx_analogreset signals asserted during this time period. 3. after the busy signal is deasserted, wait for another two parallel clock cycles, then deassert the rx_analogreset signal. 4. wait for the rx_freqlocked signal to go high. 5. when rx_freqlocked goes high (marker 3), from that point onwards, wait for at least t ltd_auto , then de-assert the rx_digitalreset signal (marker 4). at this point, the receiver is ready to receive data. figure 2?6. sample reset sequence of receiver only channel?receiver cdr in automatic lock mode notes to figure 2?6 : (1) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (2) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals 2 output status signals 3 4 1 two parallel clock cycles rx_analogreset rx_digitalreset busy (2) rx_freqlocked t lt d _ au t o (1)
2?12 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation receiver only channel?receiver cdr in manual lock mode this configuration contains only a receiver channel. if you create a receiver only instance in the altgx megawizard plug-in manager with receiver cdr in manual lock mode, use the reset sequence shown in figure 2?7 . as shown in figure 2?7 , perform the following reset procedure for the receiver cdr in manual lock mode: 1. after power up, wait for the busy signal to be asserted. 2. keep the rx_digitalreset and rx_locktorefclk signals asserted and the rx_locktodata signal deasserted duri ng this time period. 3. after deassertion of the busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. 4. wait for at least t ltr_ltd_manual , then deassert the rx_locktorefclk signal. at the same time, assert the rx_locktodata signal (marker 3). 5. deassert rx_digitalreset at least t ltd_manual (the time between markers 3 and 4) after asserting the rx_locktodata signal. at this point, the receiver is ready to receive data. figure 2?7. sample reset sequence of receiver only channel?receiver cdr in manual lock mode notes to figure 2?7 : (1) for t ltr_ltd_manual duration, refer to the cyclone iv device datasheet chapter. (2) for t ltd_manual duration, refer to the cyclone iv device datasheet chapter. (3) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals output status signals 2 3 4 cdr control signals 3 1 two parallel clock cycles rx_analogreset rx_digitalreset rx_locktorefclk rx_locktodata busy (3) t ltr_ltd_manual (1) t ltd_manual (2)
chapter 2: cyclone iv rese t control a nd power down 2?13 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 receiver and transmitter channel?receiver cdr in automatic lock mode this configuration contains both a transmitter and a receiver channel. if you create a receiver and transmitter instance in the altgx megawizard plug-in manager with the receiver cdr in automatic lock mode, use the reset sequence shown in figure 2?8 . as shown in figure 2?8 , perform the following reset procedure for the receiver in cdr automatic lock mode: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). 2. keep the tx_digitalreset , rx_analogreset , and rx_digitalreset signals asserted during this time period. after you deassert the pll_areset signal, the multipurpose pll starts loc king to the transmitter input reference clock. 3. after the multipurpose pll locks, as indicated by the pll_locked signal going high (marker 3), deassert tx_digitalreset . for receiver operation, after deassertion of busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. 4. wait for the rx_freqlocked signal to go high (marker 7). figure 2?8. sample reset sequence of receiver and transmitter channel?receiver cdr in automatic lock mode notes to figure 2?8 : (1) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (2) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals output status signals 12 3 4 6 7 8 5 two parallel clock cycles 1 s pll_areset tx_digitalreset rx_analogreset rx_digitalreset busy (2) pll_locked rx_freqlocked t lt d _ au t o (1)
2?14 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation 5. after the rx_freqlocked signal goes high, wait for at least t ltd_auto , then deassert the rx_digitalreset signal (marker 8) . at this point, the transmitter and receiver are ready for data traffic. receiver and transmitter channel?receiver cdr in manual lock mode this configuration contains both a transmitter and receiver channel. if you create a receiver and transmitter instance in the altgx megawizard plug-in manager with the receiver cdr in manual lock mode, use the reset sequence shown in figure 2?9 . figure 2?9. sample reset sequence of receiver and transmitter channel?receiver cdr in manual lock mode notes to figure 2?9 : (1) for t ltr_ltd_manual duration, refer to the cyclone iv device datasheet chapter. (2) for t ltd_manual duration, refer to the cyclone iv device datasheet chapter. (3) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. reset signals output status signals 12 3 4 6 7 8 cdr control signals 7 busy (3) 5 two parallel clock cycles 1 s pll_areset tx_digitalreset rx_analogreset rx_digitalreset rx_locktorefclk rx_locktodata pll_locked t ltd_manual (2) t ltr_ltd_manual (1)
chapter 2: cyclone iv rese t control a nd power down 2?15 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 as shown in figure 2?9 , perform the following reset procedure for the receiver in manual lock mode: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). 2. keep the tx_digitalreset , rx_analogreset , rx_digitalreset , and rx_locktorefclk signals asserted and the rx_locktodata signal deasserted during this time period . after you deassert the pll_areset signal, the multipurpose pll starts locking to the transmitter input reference clock. 3. after the multipurpose pll locks, as indicated by the pll_locked signal going high (marker 3), deassert tx_digitalreset . for receiver operation, after deassertion of busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. 4. wait for at least t ltr_ltd_manual (the time between markers 6 and 7), then deassert the rx_locktorefclk signal. at the same time, assert the rx_locktodata signal (marker 7). at this point, the receiver cdr enters lock-to-data mode and the receiver cdr starts locking to the received data. 5. deassert rx_digitalreset at least t ltd_manual (the time between markers 7 and 8) after asserting the rx_locktodata signal. at this point, the transmitter and receiver are ready for data traffic.
2?16 chapter 2: cyclone iv rese t control and power down transceiver reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation pcie functional mode you can configure pcie functional mode wi th or without the receiver clock rate compensation fifo in the cyclone iv gx device. the reset sequence remains the same whether or not you use the receiver clock rate compensation fifo. pcie reset sequence the pcie protocol consists of an initialization/compliance phase and a normal operation phase. the reset sequences for these two phases are described based on the timing diagram in figure 2?10 . figure 2?10. reset sequence of pcie functional mode (note 1) , (2) notes to figure 2?10 : (1) this timing diagram is drawn based on the pcie gen 1 1 mode. (2) for bonded pcie gen 1 2 and 4 modes, there will be additional rx_freqlocked[n] signal. n=number of channels. (3) for t ltd_manual duration, refer to the cyclone iv device datasheet chapter. (4) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (5) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. 12 3 4 6 7 8 ignore receive data 910 11 12 two parallel clock cycles > two parallel clock cycles _ 5 1 s reset / power down signals output status signals busy (5) pll_areset tx_digitalreset rx_analogreset rx_digitalreset rx_freqlocked pll_locked initialization / compliance phase normal operation phase t ltd_manual (3) t lt d _ au t o (4)
chapter 2: cyclone iv rese t control a nd power down 2?17 transceiver reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 pcie initialization /compliance phase after the device is powered up, a pcie-compl iant device goes through the compliance phase during initialization. the rx_digitalreset signal must be deasserted during this compliance phase to achieve transitions on the pipephydonestatus signal, as expected by the link layer. the rx_digitalreset signal is deasserted based on the assertion of the rx_freqlocked signal. during the initialization/compliance phase, do not use the rx_freqlocked signal to trigger a deassertion of the rx_digitalreset signal. instead, perform the following reset sequence: 1. after power up, assert pll_areset for a minimum period of 1 ? s (the time between markers 1 and 2). keep the tx_digitalreset , rx_analogreset , and rx_digitalreset signals asserted during this time period. after you deassert the pll_areset signal, the multipurpose pll starts locking to the input reference clock. 2. after the multipurpose pll locks, as indicated by the pll_locked signal going high (marker 3), deassert tx_digitalreset . for a receiver operation, after deassertion of busy signal, wait for two parallel clock cycles to deassert the rx_analogreset signal. after rx_analogreset is deasserted, the receiver cdr starts locking to the receiver input reference clock. 3. deassert both the rx_analogreset signal (marker 6) and rx_digitalreset signal (marker 7) together, as indicated in figure 2?10 . after deasserting rx_digitalreset , the pipephydonestatus signal transitions from the transceiver channel to indicate the status to the link layer. depending on its status, pipephydonestatus helps with the continuation of the compliance phase. after successful completion of this phase, the device enters into the normal operation phase. pcie normal phase for the normal pcie phase: 1. after completion of the initialization/ compliance phase, during the normal operation phase at the gen1 data rate, when the rx_freqlocked signal is deasserted (marker 9 in figure 2?10 ). 2. wait for the rx_freqlocked signal to go high again. in this phase, the received data is valid (not electrical idle) and th e receiver cdr locks to the incoming data. proceed with the reset sequence after assertion of the rx_freqlocked signal. 3. after the rx_freqlocked signal goes high, wait for at least t ltd_manual before asserting rx_digitalreset (marker 12 in figure 2?10 ) for two parallel receive clock cycles so that the receiver phase compensation fifo is initialized. for bonded pcie gen 1 mode (2 and 4), wait for all the rx_freqlocked signals to go high, then wait for t ltd_manual before asserting rx_digitalreset for 2 parallel clock cycles.
2?18 chapter 2: cyclone iv rese t control and power down dynamic reconfiguration reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation dynamic reconfiguration reset sequences when using dynamic reconfiguration in data rate divisions in pll reconfiguration or channel reconfiguration mode, use the following reset sequences. reset sequence in pll reconfiguration mode use the example reset sequence shown in figure 2?11 when you use the pll dynamic reconfiguration controller to change the data rate of the transceiver channel. in this example, pll dynamic reconfig uration is used to dynamically reconfigure the data rate of the transceiver channel configured in basic 1 mode with the receiver cdr in automatic lock mode. as shown in figure 2?11 , perform the following reset procedure when using the pll dynamic reconfiguration controller to change the configuration of the plls in the transmitter channel: 1. assert the tx_digitalreset , rx_analogreset , and rx_digitalreset signals. the pll_configupdate signal is asserted (marker 1) by the altpll_reconfig megafunction after th e final data bit is sent out. the pll_reconfig_done signal is asserted (marker 2) to inform the altpll_reconfig megafunction that the scan chain process is completed. the altpll_reconfig megafunction then asserts the pll_areset signal (marker 3) to reset the transceiver pll. figure 2?11. reset sequence when using the pll dynamic reconfiguration controller to change the data rate of the transceiver channel notes to figure 2?11 : (1) the pll_configupdate and pll_areset signals are driven by the altpll_reconfig megafunction. for more information, refer to an 609: implementing dynamic reconf iguration in cyclone iv gx devices and the cyclone iv dynamic reconfiguration chapter. (2) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. output status signals pll_reconfig_done 5 tx_digitalreset pll_configupdate (1) reset and control signals rx_analogreset 8 rx_digitalreset pll_locked 3 pll_areset (1) 1 2 6 t lt d _ au t o (2) 4 five parallel clock cycles rx_freqlocked 7
chapter 2: cyclone iv rese t control a nd power down 2?19 dynamic reconfiguration reset sequences ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 2. after the pll is reset, wait for the pll_locked signal to go high (marker 4) indicating that the pll is locked to the in put reference clock. after the assertion of the pll_locked signal, deassert the tx_digitalreset signal (marker 5). 3. wait at least five parallel clock cycles after the pll_locked signal is asserted to deassert the rx_analogreset signal (marker 6). 4. when the rx_freqlocked signal goes high (marker 7), from that point onwards, wait for at least t ltd_auto time, then deassert the rx_digitalreset signal (marker 8). at this point, the receiver is ready for data traffic. reset sequence in channel reconfiguration mode use the example reset sequence shown in figure 2?12 when you are using the dynamic reconfiguration cont roller to change the pcs settings of the transceiver channel. in this example, the dynamic reconfiguration is used to dynamically reconfigure the transceiver channel configured in basic 1 mode with receiver cdr in automatic lock mode. figure 2?12. reset sequence when using the dynamic reconfiguration controller to change the pcs settings of the tr ansceiver channel notes to figure 2?12 : (1) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (2) the busy signal is asserted and deasserted only during init ial power up when offset cancellation occurs. in subsequent reset sequences, the busy signal is asserted and deassert ed only if there is a re ad or write operation to the altgx_reconfig megafunction. reset and control signals 4 output status signals 7 8 busy (2) 2 five parallel clock cycles 1 new value 3 6 1 1 1 5 tx_digitalreset rx_analogreset rx_digitalreset reconfig_mode_sel[2..0] write_all channel_reconfig_done rx_freqlocked t lt d _ au t o (1)
2?20 chapter 2: cyclone iv rese t control and power down dynamic reconfiguration reset sequences cyclone iv device handbook, volume 2 ? december 2010 altera corporation as shown in figure 2?12 , perform the following reset procedure when using the dynamic reconfiguration cont roller to change the config uration of the transceiver channel: 1. after power up and establishing that the transceiver is operating as desired, write the desired new value in the appropriate registers (including reconfig_mode_sel[2:0] ) and subsequently assert the write_all signal (marker 1) to initiate th e dynamic reconfiguration. f for more information, refer to the cyclone iv dynamic reconfiguration chapter. 2. assert the tx_digitalreset , rx_analogreset , and rx_digitalreset signals. 3. as soon as write_all is asserted, the dynamic reco nfiguration controller starts to execute its operation. this is indicated by the assertion of the busy signal (marker 2). 4. wait for the assertion of the channel_reconfig_done signal (marker 4) that indicates the completion of dynami c reconfiguration in this mode. 5. deassert the tx_digitalreset signal (marker 5). this signal must be deasserted after assertion of the channel_reconfig_done signal (marker 4) and before the deassertion of the rx_analogreset signal (marker 6). 6. wait for at least five parallel clock cycles after assertion of the channel_reconfig_done signal (marker 4) to deassert the rx_analogreset signal (marker 6). 7. lastly, wait for the rx_freqlocked signal to go high. after rx_freqlocked goes high (marker 7), wait for t ltd_auto to deassert the rx_digitalreset signal (marker 8). at this point, the receiver is ready for data traffic.
chapter 2: cyclone iv rese t control a nd power down 2?21 power down ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 power down the quartus ii software automatically selects the power-down channel feature, which takes effect when you configure the cyclone iv gx device. all unused transceiver channels and blocks are powered down to reduce overall power consumption. the gxb_powerdown signal is an optional transceive r block signal. it powers down all transceiver channels and all functional bloc ks in the transceiver block. the minimum pulse width for this signal is 1 ? s. after power up, if you use the gxb_powerdown signal, wait for deassertion of the busy signal, then assert the gxb_powerdown signal for a minimum of 1 ? s. lastly, follow the sequence shown in figure 2?13 . the deassertion of the busy signal indicates proper completion of the offset cancellation process on the receiver channel. figure 2?13. sample reset sequence of a receiver and transmitter channels-receiver cdr in automatic lock mode with the optional gxb_powerdown signal (note 1) notes to figure 2?13 : (1) the gxb_powerdown signal must not be asserted during the offset cancellation sequence. (2) for t ltd_auto duration, refer to the cyclone iv device datasheet chapter. (3) the busy signal is asserted and deasserted only during initial power up when offset cancellation occurs . in subsequent reset sequences, the busy signal is asserted and deasserted only if there is a read or write operation to the altgx_reconfig megafunction. output status signals 4 5 6 7 8 3 2 busy (3) 1 reset/power down signals gxb_powerdown pll_areset tx_digitalreset rx_analogreset rx_digitalreset pll_locked rx_freqlocked 1 s t ltd_auto (2)
2?22 chapter 2: cyclone iv rese t control and power down simulation requirements cyclone iv device handbook, volume 2 ? december 2010 altera corporation simulation requirements the following are simulation requirements: the gxb_powerdown port is optional. in simulation, if the gxb_powerdown port is not instantiated, you must assert the tx_digitalreset , rx_digitalreset , and rx_analogreset signals appropriately for co rrect simulation behavior. if the gxb_powerdown port is instantiated, and the other reset signals are not used, you must assert the gxb_powerdown signal for at least 1 ? s for correct simulation behavior. you can deassert the rx_digitalreset signal immediately after the rx_freqlocked signal goes high to reduce the simulation run time. it is not necessary to wait for t ltd_auto (as suggested in the actual reset sequence). the busy signal is deasserted after about 20 parallel reconfig_clk clock cycles in order to reduce simulation run time. for silicon behavior in hardware, you can follow the reset sequences described in the previous pages. in pcie mode simulation, you must assert the tx_forceelecidle signal for at least one parallel clock cycle before transmitting normal data for correct simulation behavior. reference information for more information about some useful refere nce terms used in this chapter, refer to the links listed in table 2?7 . table 2?7. reference information terms used in this chapter useful reference points automatic lock mode page 2?7 bonded channel configuration page 2?6 busy page 2?3 dynamic reconfiguration reset sequences page 2?18 gxb_powerdown page 2?2 ltd page 2?6 ltr page 2?6 manual lock mode page 2?9 non-bonded channel configuration page 2?10 pcie page 2?16 pll_locked page 2?2 pll_areset page 2?2 rx_analogreset page 2?2 rx_digitalreset page 2?2 rx_freqlocked page 2?3 tx_digitalreset page 2?2
chapter 2: cyclone iv rese t control a nd power down 2?23 document revision history ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 document revision history table 2?8 lists the revision history for this chapter. table 2?8. document revision history date version changes made december 2010 1.1 updated for the quartus ii software version 10.1 release. updated all pll_powerdown to pll_areset . added information about the busy signal in figure 2?4 , figure 2?5 , figure 2?6 , figure 2?7 , figure 2?8 , figure 2?9 , figure 2?10 , figure 2?12 , and figure 2?13 . added information for clarity ( ?receiver and transmitter channel?receiver cdr in manual lock mode? , ?receiver only channel?receiver cdr in automatic lock mode? , ?receiver only channel?receiver cdr in manual lock mode? , ?receiver and transmitter channel?receiver cdr in manual lock mode? , and ?reset sequence in channel reconfiguration mode? ). minor text edits. july 2010 1.0 initial release.
2?24 chapter 2: cyclone iv rese t control and power down document revision history cyclone iv device handbook, volume 2 ? december 2010 altera corporation
? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 3. cyclone iv dynamic reconfiguration cyclone ? iv gx transceivers allow you to dyna mically reconfigure different portions of the transceivers without powering down any part of the device. this chapter describes and provides examples about th e different modes available for dynamic reconfiguration. you can use the altgx_reconfig and altpll_reconfig controller instance to reconfigure the physical medium attachment (pma) controls, physical coding sublayer (pcs), multipurpose phase locked loops (plls), and general purpose plls. this chapter contains the following sections: ?glossary of terms? on page 3?1 ?dynamic reconfiguration contro ller architecture? on page 3?2 ?dynamic reconfiguration modes? on page 3?10 ?error indication during dynami c reconfiguration? on page 3?33 ?functional simulation of the dynamic reconfiguration process? on page 3?34 glossary of terms table 3?1 lists the terms used in this chapter: table 3?1. glossary of terms used in this chapter (part 1 of 2) term description altgx_reconfig instance dynamic reconfigurati on controller instance generated by the altgx_reconfig megawizard ? plug-in manager. altgx instance transceiver instance generated by the altgx megawizard plug-in manager. altpll_reconfig instance dynamic pll reconfiguration controller in stance generated by the altpll_reconfig megawizard plug-in manager logical channel addressing used whenever the concept of logical channel a ddressing is explained. this term does not refer to the logical_channel_address port available in the altgx_reconfig megawizard plug-in manager. memory initialization file, also known as .mif a file with the .mif extension will be generated for .mif -based reconfiguration mode. it can be either in channel reconfiguration mode or pll reconfiguration mode. channel reconfiguration mode?this file contains information about the various altgx megawizard plug-in manager options that you set. each word in the .mif is 16 bits wide. the dynamic reconfiguration controller writes information from the .mif into the transceiver channel. pll reconfiguration mode?this file contains information about the various pll parameters and settings that you use to configure the transceiver pll to different output frequency. the .mif file is 144 ? 1-bit size. during pll reconfiguration mode, the pll reconfiguration controller shifts these 144- bit serially into the transceiver pll. cyiv-52003-2.0
3?2 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration controller architecture cyclone iv device handbook, volume 2 ? december 2010 altera corporation dynamic reconfiguration controller architecture the dynamic reconfiguration controller is a soft intellectual property (ip) that utilizes fpga-fabric resources. you can use only on e controller per transceiver block. you cannot use the dynamic reconfiguration cont roller to control multiple cyclone iv devices or any off-chip interfaces. figure 3?1 shows a conceptual view of the dynamic reconfiguration controller architecture. for a detailed descriptio n of the inputs and outputs of the altgx_reconfig instance, refer to ?error indication during dynamic reconfiguration? on page 3?33 . 1 you can use one altgx_reconfig instance to control multiple transceiver blocks. however, you cannot use multiple altgx_reconfig instances to control one transceiver block. pma controls represents analog controls ( voltage output differential [ v od ], pre-emphasis , dc gain , and manual equalization ) as displayed in both the altgx and altgx_reconfig megawizard plug-in managers. transceiver channel refers to a transmitter channel, a receiver channel, or a duplex channel that has both pma and pcs blocks. table 3?1. glossary of terms used in this chapter (part 2 of 2) term description figure 3?1. dynamic reconfiguration controller note to figure 3?1 : (1) the pma control ports consist of the v od , pre-emphasis, dc gain, and ma nual equalization controls. offset cancellation control logic reconfig_address_out[5..0] channel reconfig logic altgx_reconfig megawizard plug-in manager altgx_reconfig instance (dynamic reconfiguration controller) reconfig_clk read write_all pma control ports (1) logical_channel_address[n..0] rx_tx_duplex_sel[1..0] reconfig_mode_sel[2..0] reconfig_address_en channel_reconfig_done error busy data v alid reconfig_togxb[3..0] reconfig_fromgxb[n..0] altgx megawizard plug-in manager altgx instances parallel to serial con v erter addr data address translation analog controls reconfig logic reset_reconfig_address reconfig_data[15..0] reconfig_reset
chapter 3: cyclone iv dynamic reconfiguration 3?3 dynamic reconfiguration controller port list ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 dynamic reconfiguration controller port list table 3?2 lists the input control ports and ou tput status ports of the dynamic reconfiguration controller. table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 1 of 6) port name input/ output description clock inputs to altgx_reconfig instance reconfig_clk input the frequency range of this cl ock depends on the following transceiver channel configuration modes: receiver only (37.5 mhz to 50 mhz) receiver and transmitter (37.5 mhz to 50 mhz) transmitter only (2.5 mhz to 50 mhz) by default, the quartus ? ii software assigns a gl obal clock resource to this port. this clock must be a free-running clock sourced from an i/o clock pin. do not us e dedicated tran sceiver refclk pins or any clocks gene rated by transceivers. altgx and altgx_reconfig interface signals reconfig_fromgxb [n..0] input an output port in the altgx instance and an input port in the altgx_reconfig instance. this signal is transceiver-block based. therefore, the width of this signal increases in steps of 5 bits per transceiver block. in the altgx megawizard plug-in manager, the width of this signal depends on the number of channels you select in the what is the number of channels? option in the general screen. for example, if you select the number of channels in the altgx instance as follows: 1 ? channels ? 4, then the output port reconfig_fromgxb[4..0] = 5 bits 5 ? channels ? 8, then the output port reconfig_fromgxb[9..0] = 10 bits 9 ? channels ? 12, then the output port reconfig_fromgxb[14..0] = 15 bits 13 ? channels ? 16, then the output port reconfig_fromgx[19..0] = 20 bits to connect the reconfig_fromgxb port between the altgx_reconfig instance and multiple altgx instance s, follow these rules: connect the reconfig_fromgxb[4..0] of altgx instance 1 to the reconfig_fromgxb[4..0] of the altgx_reconfig instance. connect the reconfig_fromgxb[] port of the next altgx instance to the next available bits of the altgx_reconfig instance, and so on. connect the reconfig_fromgxb port of the altgx instance, which has the highest what is the starting channel number? option, to the msb of the reconfig_fromgxb port of the altgx_reconfig instance. the quartus ii fitter produces a warning if the dynamic reconfiguration option is enabled in the altgx instance but the reconfig_fromgxb and reconfig_togxb ports are not connected to the altg x_reconfig instance. reconfig_togxb [3..0] output an input port of the altgx instance and an out put port of the altgx_reconfig instance. you must connect the reconfig_togxb[3..0] input port of every altgx instance controlled by the dynamic reconfigur ation controller to the reconfig_togxb[3..0] output port of the altgx_reconfig instance. the width of this port is always fixed to 4 bits.
3?4 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration controller port list cyclone iv device handbook, volume 2 ? december 2010 altera corporation fpga fabric and altgx_reconfig interface signals write_all input assert this signal for one reconfig_clk clock cycle to initiate a write transaction from the altgx_reconfig instance to the altgx instance. you can use this signal in two ways for . mif -based modes: continuous write ope ration?select the enable continuous write of all the words needed for reconfiguration option to pulse the write_all signal only once for writing a whole .mif . the what is the read latenc y of the mif contents option is available for selection in this case only. enter the desired latency in terms of the reconfig_clk cycles. regular write operation?when the enable continuous write of all the words needed for reconfiguration option is disabled, every word of the .mif requires its own write cycle. busy output this signal is used to indicate the busy status of the dynamic r econfiguration controller during offset cancellation. after th e device powers up, this signa l remains low for the first reconfig_clk clock cycle. it then is asserted and remains high when the dynamic reconfiguration controller performs offset cancellation on all the receiver channels connected to the altgx_reconfig instance. deassertion of the busy signal indicates the successful co mpletion of the offset cancellation process. pma controls rec onfiguration mode?t his signal is high when th e dynamic reconfiguration controller performs a read or write transaction. channel reconfigurati on modes?this signal is high when the dynamic reconfiguration controller writes the .mif into the transceiver channel. read input assert this signal for one reconfig_clk clock cycle to initiate a read transaction. the read port is applicable only to the pma controls reconfiguration mode. the read port is available when you select analog controls in the reconfiguration settings screen and select at least one of the pma control ports in the analog controls screen. data_valid output applicable only to pma controls reconfigurati on mode. this port indicate s the validity of the data read from the transceiver by th e dynamic reconfiguration controller. the data on the output read po rts is valid only when the data_valid is high. this signal is enabled when you enable at least one pma control port used in read transactions, for example tx_vodctrl_out . error output this indicates that an unsupported operation was attempted. you can select this in the error checks screen. the dynamic reconfigurat ion controller deasserts the busy signal and asserts the error signal for two reconfig_clk cycles when you attempt an unsupported operation. for more information, refer to ?error indication during dyna mic reconfiguration? on page 3?33 . logical_channel_ address[n..0] input enabled by the altgx_reconf ig megawizard plug-in mana ger when you enable the use 'logical_channel_address' port for a nalog controls re configuration option in the analog controls screen. the width of the logical_channel_address port depends on the value you set in the what is the number of channels cont rolled by the rec onfig controller? option in the reconfiguration settings screen. this port can be enabled only when the number of channels controlled by the dynamic reconfigur ation controller is more than one. number of channels controlled logical_channel_address by the reconfiguration controller input port width 2 logical_channel_address[0] 3?4 logical_channel_address[1..0] 5?8 logical_channel_address[2..0] 9?16 logical_channel_address[3..0] table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 2 of 6) port name input/ output description
chapter 3: cyclone iv dynamic reconfiguration 3?5 dynamic reconfiguration controller port list ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 rx_tx_duplex_sel [1..0] input this is a 2-bit wide signal. you can select this in the error checks screen. the advantage of using this optiona l port is that it allows you to reconfigure only the transmitter portion of a channel, even if th e channel configuration is duplex. for a setting of: rx_tx_duplex_sel[1:0] = 2'b00?the transmitter a nd receiver portion of the channel is reconfigured. rx_tx_duplex_sel[1:0] = 2'b01?the receiver porti on of the channel is reconfigured. rx_tx_duplex_sel[1:0] = 2'b10?the transmitter portion of the channel is reconfigured. analog settings control/status signals tx_vodctrl[2..0] (1) input this is an optional transmit buffer v od control signal. it is 3 bits per transmitter channel. the number of settings varies based on the transmit buffer supply setting and the termination resistor setting on the tx analog screen of the altgx megawizard plug-in manager. the width of this signal is fixed to 3 bits if you enable either the use 'logical_ channel_address' port for analog controls reconfiguration option or the use same control signal for all the channels option in the analog controls screen. otherwise, the width of this signal is 3 bits per channel. the following shows the v od values corresponding to the tx_vodctrl settings for 100- ? termination. for more information, refer to the ?programmable out put differential voltage? section of the cyclone iv gx device datasheet chapter. tx_vodctrl[2:0] corresponding altgx corresponding v od instance settings settings (mv) 3?b001 1 400 3?b010 2 600 3?b011 3 800 3?b111 4 (2) 900 (2) 3?b100 5 1000 3?b101 6 1200 all other values => n/a table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 3 of 6) port name input/ output description
3?6 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration controller port list cyclone iv device handbook, volume 2 ? december 2010 altera corporation tx_preemp[4..0] (1) input this is an optional pre-emphasis write control fo r the transmit buffer. depending on what value you set at this i nput, the controller dynamically writes the value to the pre-emphasis control register of the transmit buffer. the width of this signal is fixed to 5 bits if you enable either the use 'logical_ channel_address' port for analog controls reconfiguration option or the use same control signal for all the channels option in the analog controls screen. otherwise, the width of this signal is 5 bits per channel. tx_preemp[4..0] corresponding altgx corresponding pre- instance settings emphasis setting (ma) 00000 0 disabled 00001 1 0.5 00101 5 1.0 01001 9 1.5 01101 13 2.0 10000 16 2.375 10001 17 2.5 10010 18 2.625 10011 19 2.75 10100 20 2.875 10101 21 3.0 all other values => n/a rx_eqctrl[3..0] (1) input this is an optional write control to write an equa lization control value for the receive side of the pma. the width of this signal is fixed to 4 bits if you enable either the use 'logical_ channel_address' port for analog controls reconfiguration option or the use same control signal for all the channels option in the analog controls screen. otherwise, the width of this signal is 4 bits per channel. rx_eqctrl[3..0] corresponding altgx instance settings 0001 low 0101 medium low 0100 medium high 0111 high all other values => n/a table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 4 of 6) port name input/ output description
chapter 3: cyclone iv dynamic reconfiguration 3?7 dynamic reconfiguration controller port list ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 rx_eqdcgain [1..0] (1) input this is an optional equalize r dc gain write control. the width of this signal is fixed to 2 bits if you enable either the use 'logical_ channel_address' port for analog controls reconfiguration option or the use same control signal for all the channels option in the analog controls screen. otherwise, the width of this signal is 2 bits per channel. the following values are the legal settings allowed for this signal: rx_eqdcgain[1..0] corresponding altgx corresponding settings dc gain value (db) 2?b00 0 0 2?b01 1 3 (2) 2?b11 2 6 all other values => n/a for more information, refer to the ?program mable equalization and dc gain? section of the cyclone iv gx device datasheet chapter. tx_vodctrl_out [2..0] output this is an optional transmit v od read control signal. this signal reads out the value written into the v od control register. the width of this output signal depe nds on the number of channels controlled by the dynamic rec onfiguration controller and al so the configuration of the use 'logical_channel_address' port for analog controls reconfiguration option and the use same control signal for all the channels option. tx_preemp_out [4..0] output this is an optional pre-emphasis read control si gnal. this signal reads out the value written by its input control signal. the wi dth of this output signal de pends on the number of channels controlled by the dynamic rec onfiguration controller and al so the configuration of the use 'logical_channel_address' port for analog controls reconfiguration option and the use same control signal for all the channels option. rx_eqctrl_out [3..0] output this is an optional read control signal to read the setting of equaliza tion setting of the altgx instance. the width of th is output signal depends on the numbe r of channels c ontrolled by the dynamic reconfigur ation controller and also the configuration of the use 'logical_channel_address' port for analog controls reconfiguration option and the use same control signal for all the channels option. rx_eqdcgain_out [1..0] output this is an optional equalize r dc gain read control signal. this signal reads out the settings of the altgx instance dc gain. the width of this out put signal depends on the number of channels controlled by the dynamic rec onfiguration controller and al so the configuration of the use 'logical_channel_address' port for analog controls reconfiguration option and the use same control signal for all the channels option. transceiver channel reconfigurat ion control/status signals reconfig_mode_ sel[2..0] (3) input set the following values at this signal to activa te the appropriate dynami c reconfiguration mode: 3?b000 = pma controls reconfigurati on mode. this is the default value. 3?b001 = channel reconfiguration mode all other values => n/a reconfig_mode_sel[] is available as an input only when you enable more than one dynamic reconfig uration mode. table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 5 of 6) port name input/ output description
3?8 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration controller port list cyclone iv device handbook, volume 2 ? december 2010 altera corporation reconfig_address _out[5..0] output this signal is always available for you to select in the channel reconfiguration screen. this signal is applicable only in the dyna mic reconfiguration modes grouped under channel reconfiguration mode including channel interface and use rx local divider option. this signal represents the current address us ed by the altgx_reconfig instance when writing the .mif into the transceiver channel. this signal increments by 1, from 0 to the last address, then starts at 0 again. you can us e this signal to indicate the end of all the .mif write transactions ( reconfig_address_out[5..0] changes from the last address to 0 at the end of all the .mif write transactions). reconfig_address _en output this is an optional signal you can select in the channel reconfiguration screen. this signal is applicable only in dynamic reconf iguration modes grouped under the channel reconfiguration option. the dynamic reconfigurat ion controller asserts reconfig_address_en to indicate that reconfig_address_out[5..0] has changed. this signal is asserted only after the dynamic reconfigurat ion controller completes writin g one 16-bit word of the .mif . reset_reconfig_ address input this is an optional signal you can select in the channel reconfiguration screen. this signal is applicable only in dynamic reconf iguration modes grouped under the channel reconfiguration option. enable this signal and assert it for one reconfig_clk clock cycle if you want to reset the reconfiguration address used by the altgx_ reconfig instance dur ing reconfiguration. reconfig_data [15..0] input this signal is applicable onl y in the dynamic reconfigur ation modes grouped under the channel reconfiguration option. this is a 16-bit word carrying the reconfiguration in formation. it is stored in a .mif that you must generate . the altgx_reconfig inst ance requires that you provide reconfig_data [15..0] on every .mif write transaction using the write_all signal. reconfig_reset (4) input you can use this signal to reset all the reconfiguration process in channel reconfiguration mode. asserting this port will reset all the register in the reconfiguration controller logics. this port only shows up in channel reconfiguration mode. channel_reconfig _done output this signal goes high to i ndicate that the dynamic reconfiguration controller has finished writing all the words of the .mif . the channel_reconfig_done signal is automatically deasserted at the start of a new dynamic re configuration write sequence. thi s signal is applicable only in channel reconfiguration mode. notes to table 3?2 : (1) not all combinations of input bits are legal values. (2) this setting is required for compliance to pci express ? (pipe) functional mode. (3) pll reconfiguration is performed using altpll_reconfig controller. henc e it is not selected through the reconfig_mode_sel[2..0] port. (4) reconfig_reset will not restart the offset cancellation operation. offset cancellation only occurs on e time after power up and does not occur when subsequent reconfig_reset is asserted. table 3?2. dynamic reconfiguration controller port list (altgx_reconfig instance) (part 6 of 6) port name input/ output description
chapter 3: cyclone iv dynamic reconfiguration 3?9 dynamic reconfiguration controller port list ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 offset cancellation feature the cyclone iv gx devices provide an offset cancellation circuit per receiver channel to counter the offset variations due to process, voltage, and temperature (pvt). these variations create an offset in the analog circuit voltages, pushing them out of the expected range. in addition to reconfig uring the transceiver channel, the dynamic reconfiguration controller performs offset cancellation on all receiver channels connected to it on power up. the offset cancellation for receiver channels option is automatically enabled in both the altgx and altgx_reconfig megawizard plug-in managers for receiver and transmitter and receiver only configurations. it is not available for tr a n s m i t t e r o n l y configurations. for receiver and transmitter and receiver only configurations, you must connect the necessary interface signals between the altgx_reconfig and altgx (with receiver channels) instances. offset cancellation is automatically execut ed once every time the device is powered on. the control logic for offset cancellation is integrated into the dynamic reconfiguration controller. you must connect the altgx_reconfig instance to the altgx instances (with receiver channels) in your design. you must connect the reconfig_fromgxb , reconfig_togxb , and necessary clock signals to both the altgx_reconfig and altgx (with receiver channels) instances. when the device powers up, the dynamic re configuration controller initiates offset cancellation on the receiver channel by disc onnecting the receiver input pins from the receiver data path. subsequently, the of fset cancellation process goes through different states and culminates in the offs et cancellation of the receiver buffer. 1 offset cancellation process only occurs one time after power up and does not occur when subsequent reconfig_reset is asserted. if you assert reconfig_reset after the offset cancellation process is comp leted, the offset cancellation process will not run again. if you assert reconfig_reset upon power up; offset cancellation will not begin until reconfig_reset is deasserted. if you assert reconfig_reset after power up but before offset cancellation process is completed; offset ca ncellation will not complete and restart only when reconfig_reset is deasserted. figure 3?2 shows the connection for offset cancellation mode. 1 the dynamic reconfiguration controller send s and receives data to the transceiver channel through the reconfig_togxb and reconfig_fromgxb signals. figure 3?2. altgx and altgx_reconfig connection for the offset cancellation process note to figure 3?2 : (1) this block is active during th e offset cancellation process. altgx altgx_reconfig reconfig_fromgxb[n..0] reconfig_togxb[3..0] busy reconfig_clk tx pcs offset cancellation circuit tx pma rx pcs rx pma + cdr (1)
3?10 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation 1 the gxb_powerdown signal must not be asserted during the offset cancellation sequence. figure 3?3 shows the timing diagram for a offset cancellation process. functional simulation of the offset cancellation process you must connect the altgx_reconfig inst ances to the altgx instances in your design for functional simulation. functional simulation uses a reduced timing model of the dynamic reconfiguration controller. therefore, the duration of the offset cancellation process is 16 reconfig_clk clock cycles for functional simulation only. the gxb_powerdown signal must not be asserted during the offset cancellation sequence (for functional simulation and silicon). dynamic reconfiguration modes when you enable the dynamic reconfiguration feature, you can reconfigure the following portions of each transceiver ch annel dynamically, wi thout powering down the other transceiver channels or the fpga fabric of the device: analog (pma) controls reconfiguration channel reconfiguration pll reconfiguration figure 3?3. dynamic reconfiguration signals transition during offset cancellation notes to figure 3?3 : (1) after device power up, the busy signal remains low for the first reconfig_clk cycle. (2) the busy signal then gets asserted for the second reconfig_clk cycle, when the dynamic reconfigurat ion controller initiates the offset cancellation process. (3) the deassertion of the busy signal indicates the successf ul completion of the offset cancellation process. reconfig_clk bu sy (1) (2) (3)
chapter 3: cyclone iv dynamic reconfiguration 3?11 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 table 3?3 lists the supported dynamic reconfiguration modes for cyclone iv gx devices. the following modes are available for dynamically reconfiguring the cyclone iv transceivers: ?pma controls reconfigur ation mode? on page 3?11 ?transceiver channel reconfiguration mode? on page 3?19 channel interface ( .mif based) data rate division in receiver channel ( .mif based) the following sections describe each of these modes in detail. the following modes are unsupported for dynamic reconfiguration: dynamically enable/disable prbs or bist switch between a receiver-only channel and a transmitter-only channel switch between a 1 mode to a bonded 4 mode pma controls reconfiguration mode you can dynamically reconfigure the following pma controls for all supported transceiver configurations channels as configured in the altgx instances: pre-emphasis settings equalization settings dc gain settings v od settings you can use the analog reconfiguration feature to dynamically reconfigure the transceivers channels setting in either th e transmitter or the receivers in the pma blocks. you can update the pma controls on-the-fly based on the desired input. you can perform both read and write transaction separately for this analog reconfiguration mode. table 3?3. cyclone iv gx supported dynamic reconfiguration mode dynamic reconfiguration supported mode operational mode quartus ii instances .mif requirements transmitter only receiver only transmitter and receiver only altgx altgx_ reconfig altpll_ reconfig offset cancellation ? vvvv ?? analog (pma) controls reconfiguration vvvvv ?? channel rec onfiguration channel interface vvvvv ? v data rate division in receiver channel ? vvvv ? v pll reconfiguration vvvv ? vv
3?12 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation there are three methods that you can us e to dynamically reconfigure the pma controls of a transceiver channel: ?method 1: using logical_channel_addre ss to reconfigure specific transceiver channels? on page 3?12 ?method 2: writing the same control signals to control all the transceiver channels? on page 3?14 ?method 3: writing different control signals for all the transceiver channels at the same time? on page 3?17 method 1: using logical_channel_address to reconfigure specific transceiver channels enable the logical_channel_address port by selecting the use ?logical_channel_address? port option on the analog controls tab. this method is applicable only for a design where the dy namic reconfiguration controller controls more than one channel. you can additionally reconfigure either the receiver portion, transmitter portion, or both the receiver and transmitter portions of the transceiver channel by setting the corresponding value on the rx_tx_duplex_sel input port. for more information, refer to table 3?2 on page 3?3 . connecting the pma control ports the selected pma control ports remain fixed in width, regardless of the number of channels controlled by the altgx_reconfig instance: tx_vodctrl and tx_vodctrl_out are fixed to 3 bits tx_preemp and tx_preemp_out are fixed to 5 bits rx_eqdcgain and rx_eqdcgain_out are fixed to 2 bits rx_eqctrl and rx_eqctrl_out are fixed to 4 bits write transaction to complete a write transaction, perform the following steps: 1. set the selected pma control ports to the desired settings (for example, tx_vodctrl = 3'b001 ). 2. set the logical_channel_address input port to the logical channel address of the transceiver channel whose pma cont rols you want to reconfigure. 3. set the rx_tx_duplex_sel port to 2'b10 so that only the transmit pma controls are written to the transceiver channel. 4. ensure that the busy signal is low before you start a write transaction. 5. assert the write_all signal for one reconfig_clk clock cycle. the busy output status signal is asserted high to indicate that the dynamic reconfiguration controller is busy writing the pma control values. when the write transaction has completed, the busy signal goes low.
chapter 3: cyclone iv dynamic reconfiguration 3?13 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 3?4 shows the write transaction waveform for method 1. read transaction for example, to read the existing v od values from the transmit v od control registers of the transmitter portion of a specific ch annel controlled by the altgx_reconfig instance, perform the following steps: 1. set the logical_channel_address input port to the logical channel address of the transceiver channel whose pma controls you want to read (for example, tx_vodctrl_out ). 2. set the rx_tx_duplex_sel port to 2'b10 so that only the transmit pma controls are read from the transceiver channel. 3. ensure that the busy signal is low before you start a read transaction. 4. assert the read signal for one reconfig_clk clock cycle. this initiates the read transaction. the busy output status signal is asserted high to indicate that the dynamic reconfiguration controller is busy reading the pma control values. when the read transaction has completed, the busy signal goes low. the data_valid signal is asserted to indicate that the data available at the read control signal is valid. figure 3?4. write transaction waveform?use ?logical_channel_address port? option notes to figure 3?4 : (1) in this waveform example, yo u are writing to only the tran smitter portion of the channel. (2) in this waveform example, the number of channels connected to the dynamic reconfigur ation controller is four. therefore, the logical_channel_address port is 2 bits wide. (2) 2'b00 2'b01 busy (1) 2'b00 2'b10 3'b111 3'b001 reconfig_clk write_all rx_tx_duplex_sel [1:0] logical_channel_address [1:0] tx_ v odctrl [2:0]
3?14 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 3?5 shows the read transaction waveform for method 1. 1 simultaneous write and read transactions are not allowed. method 2: writing the same control signals to control all the transceiver channels this method does not require the logical_channel_address port. the pma controls of all the transceiver channels connected to the altgx_reconfig instance are reconfigured. the use the same control sign al for all the channels option is available on the analog controls tab of the altgx_reconfig megawizard plug-in manager. if you enable this option, the width of the pma control ports are fixed as follows: pma control ports used in a write transaction tx_vodctrl is fixed to 3 bits tx_preemp is fixed to 5 bits rx_eqdcgain is fixed to 2 bits rx_eqctrl is fixed to 4 bits pma control ports used in a read transaction tx_vodctrl_out is 3 bits per channel tx_preemp_out is 5 bits per channel rx_eqdcgain_out is 2 bits per channel rx_eqctrl_out is 4 bits per channel figure 3?5. read transaction waveform?use ?logical_channel_address port? option notes to figure 3?5 : (1) in this waveform example, you want to read from only the tran smitter portion of the channel. (2) in this waveform example, the number of channels connected to the dynamic reconfigur ation controller is four. therefore, the logical_channel_address port is 2 bits wide. read (2) 2'b00 2'b01 3'b111 3'bxxx 3'b001 busy (1) 2'b00 2'b10 reconfig_clk rx_tx_duplex_sel [1:0] logical_channel_address [1:0] data_ v alid tx_ v odctrl_out [2:0]
chapter 3: cyclone iv dynamic reconfiguration 3?15 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 for example, assume the number of channels controlled by the dynamic reconfiguration controller is two, tx_vodctrl_out is 6 bits wide. write transaction the value you set at the selected pma contro l ports is written to all the transceiver channels connected to the altgx_reconfig instance. for example, assume you have enabled tx_vodctrl in the altgx_reconfig megawizard plug-in manager to reconfigure the v od of the transceiver channels. to complete a write transaction to reconfigure the v od , perform the following steps: 1. before you initiate a write transaction, set the selected pma control ports to the desired settings (for example, tx_vodctrl = 3'b001 ). 2. set the rx_tx_duplex_sel port to 2'b10 so that only the transmit pma controls are written to the transceiver channel. 3. ensure that the busy signal is low before you start a write transaction. 4. assert the write_all signal for one reconfig_clk clock cycle. this initiates the write transaction. 5. the busy output status signal is asserted high to indicate that the dynamic reconfiguration controller is busy writing the pma control values. when the write transaction has completed, the busy signal goes low. figure 3?6 shows the write transaction for method 2. read transaction if you want to read the existing values from a specific channel connected to the altgx_reconfig instance, observe the co rresponding byte po sitions of the pma control output port after the read transaction is completed. for example, if the number of channels co ntrolled by the altgx_reconfig is two, the tx_vodctrl_out is 6 bits wide. the tx_vodctrl_out[2:0] signal corresponds to channel 1 and the tx_vodctrl_out[5:3] signal corresponds to channel 2. figure 3?6. write transaction waveform?use the same control signal for all the channels option note to figure 3?6 : (1) in this waveform example, you want to write to only the transmitter portion of the channel. busy (1) 2'b00 2'b10 3'b111 3'b001 reconfig_clk write_all rx_tx_duplex_sel [1:0] tx_ v odctrl [2:0]
3?16 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation to complete a read transaction to the v od values of the second channel, perform the following steps: 1. before you initiate a read transaction, set the rx_tx_duplex_sel port to 2'b10 so that only the transmit pma controls are read from the transceiver channel. 2. ensure that the busy signal is low before you start a read transaction. 3. assert the read signal for one reconfig_clk clock cycle. this initiates the read transaction. 4. the busy output status signal is asserted high to indicate that the dynamic reconfiguration controller is busy reading the pma control settings. 5. when the read transaction has completed, the busy signal goes low. the data_valid signal is asserted, indicating that the data available at the read control signal is valid. 6. to read the current v od values in channel 2, observe the values in tx_vodctrl_out[5:3] . in the waveform example shown in figure 3?7 , the transmit v od settings written in channels 1 and 2 prior to the read transa ction are 3'b001 and 3'b010, respectively. 1 simultaneous write and read transactions are not allowed. figure 3?7. read transaction waveform?use the same control signal for all the channels option enabled note to figure 3?7 : (1) in this waveform example, you wa nt to read from only the transmi tter portion of all the channels. read busy 6'b111111 6'bxxxxxx 6'b010001 2'b00 2'b10 (1) reconfig_clk data_ v alid rx_tx_duplex_sel [1:0] tx_ v odctrl_out [2:0]
chapter 3: cyclone iv dynamic reconfiguration 3?17 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 method 3: writing different control signals for all the transceiver channels at the same time if you disable the use the same control sign al for all the channels option, the pma control ports for a write transaction are separate for each channel. if you disable this option, the width of the pma control ports are fixed as follows: pma control ports used in a write transaction tx_vodctrl is 3 bits per channel tx_preemp are 5 bits per channel rx_eqdcgain is 2 bits per channel rx_eqctrl is 4 bits per channel for example, if you have two channels, the tx_vodctrl is 6 bits wide ( tx_vodctrl [2:0] corresponds to channel 1 and tx_vodctrl [5:3] corresponds to channel 2). pma control ports used in a read transaction the width of the pma control ports for a read transaction are always separate for each channel as explained in ?method 2: writing the same control signals to control all the transceiver channels? on page 3?14 . write transaction because the pma controls of all the channels are written, if you want to reconfigure a specific channel connected to the altgx_ reconfig instance, set the new value at the corresponding pma control port of the channel under consideration and retain the previously stored values in the other active channels with a read transaction prior to this write transaction. for example, if the number of channe ls controlled by the altgx_reconfig instance is two, the tx_vodctrl signal in this case would be 6 bits wide. the tx_vodctrl[2:0] signal corresponds to channel 1 and the t x_vodctrl[5:3] signal corresponds to channel 2. to dynamically reconfigure the pma contro ls of only channel 2 with a new value, first perform a read transaction to retrie ve the existing pma control values from tx_vodctrl_out[5:0] . use the tx_vodctrl_out[2:0] value for tx_vodctrl[2:0] to write in channel 1. by doing so, cha nnel 1 is overwritten with the same value. perform a write transaction. this ensures that the new values are written only to channel 2 while channel 1 remains unchanged.
3?18 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 3?8 shows a write transaction waveform with the use the same control signal for all the channels option disabled. 1 simultaneous write and read transactions are not allowed. read transaction the read transaction in method 3 is iden tical to that in method 2. refer to ?read transaction? on page 3?15 . 1 this is the slowest method. you have to write all the pma settings for all channels even if you may only be changing one parameter on the channel. altera recommends using the logical_channel_address method for time-cri tical applications. for each method, you can additionally reconfigure the pma setting of both transmitter and receiver portion, transmitter portion only, or receiver portion only of the transceiver channel. for more information, refer to ?dynamic reconfiguration controller port list? on page 3?3 . you can enable the rx_tx_duplex_sel port by selecting the use 'rx_tx_duplex_sel' port to en able rx only, tx only or duplex reconfiguration option on the error checks tab of the altgx_reconfig megawizard plug-in manager. figure 3?9 shows the altgx_reconfig connection to the altgx instances when set in analog reconfiguration mode. for the port information, refer to the ?dynamic reconfiguration controller port list? on page 3?3 . figure 3?8. write transaction waveform?use the same control signal for all the channels option disabled notes to figure 3?8 : (1) in this waveform example, you want to write to only the transmitter portion of the channel. (2) in this waveform example, the number of channels controlled by the dynamic reconf iguration controller (the altgx_reconfig in stance) is two and that the tx_vodctrl control port is enabled. busy (2) 6'b111111 6'b111011 2'b00 2'b10 (1) reconfig_clk write_all rx_tx_duplex_sel [1:0] tx_ v odctrl [5:0]
chapter 3: cyclone iv dynamic reconfiguration 3?19 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 3?9 shows the connection for pma reconfiguration mode. transceiver channel reconfiguration mode you can dynamically reconfigure the transcei ver channel from an existing functional mode to a different function al mode by selecting the channel reconfiguration option in altgx and altgx_reconfig megawizards. the blocks that are reconfigured by channel reconfiguration mode are the pcs and rx pma blocks of a transceiver channel. 1 for more information about reconfiguring the rx pma blocks of the transceiver channel using channel reconfigur ation mode, you can refer to ?data rate reconfiguration mode using rx local divider? on page 3?24 . in channel reconfiguration, only a write tr ansaction can occur; no read transactions are allowed. you can optionally choose to trigger write_all once by selecting the continuous write operation in the altgx_reconfig megawizard plug-in manager. the quartus ii software then continuously writes all the words required for reconfiguration. for channel reconfiguration, .mif files are required to dynamically reconfigure the transceivers channels in channel reconfiguration modes. the . mif carries the reconfiguration information that will be us ed to reconfigure the transceivers channel dynamically on-the-fly. the . mif contents is generated automatically when you select the generate gxb reconfig mif option in the quartus ii software setting. for different .mif settings, you need to later reconfigure and recompile the altgx megawizard to generate the .mif based on the required reconfiguration settings. the dynamic reconfiguration controller ca n optionally perform a continuos write operation or a regular write operation of the .mif contents in terms of word size (16-bit data) to the transceivers channe l that is selected for reconfiguration. figure 3?9. altgx and altgx_reconfig connection for pma reconfiguration mode note to figure 3?9 : (1) this block can be reconfigured in pma reconfiguration mode. altgx altgx_reconfig reconfig_fromgxb[n..0] tx pcs analog reconfig control logic tx pma (1) reconfig_clk read write_all tx_ v odctrl[2..0] reconfig_togxb[3..0] busy tx_preemp[4..0] rx_e q dcgain[1..0] rx pcs rx pma + cdr (1) data_ v alid rx_e q ctrl[3..0] tx_ v odctrl_out[2..0] tx_preemp_out[4..0] rx_e q dcgain_out[1..0] rx_e q ctrl_out[3..0] rx_tx_duplex_sel[1..0] logical_channel_address[n..0] ports that are used to read the pma settings from the tx/rx pma block during a read transaction ports that are used to write the pma settings to the tx/rx pma block during a write transaction input control and output signal ports for analog reconfiguration mode
3?20 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation the following are the channel reconfiguration mode options: channel interface reconfiguration data rate division at receiver channel channel interface reconfiguration mode enable this option if the reconfiguratio n of the transceiver channel involves the following changes: the reconfigured channel has a change d fpga fabric-transceiver channel interface data width the reconfigured channel has changed in put control signals and output status signals the reconfigured channel has enabled and disabled the static pcs blocks of the transceiver channel the following are the new input signals available when you enable this option: tx_datainfull ?the width of this input sign al depends on the number of channels you set up in the altgx megawizard plug-in manager. it is 22 bits wide per channel. this signal is available only for transmitter only and receiver and transmitter configurations. this port replaces the existing tx_datain port. rx_dataoutfull ?the width of this output sign al depends on the number of channels you set up in the altgx megawizard plug-in manager. it is 32 bits wide per channel. this signal is available only for receiver only and receiver and transmitter configurations. this port replaces the existing rx_dataout port. the quartus ii software has legali ty checks for the connectivity of tx_datainfull and rx_dataoutfull and the various control and status signals you enable in the clocking/interface screen. for example, the quartus ii software allows you to select and connect the pipestatus and powerdn signals. it assumes that you are planning to switch to and from pci express (pipe) functional mode.
chapter 3: cyclone iv dynamic reconfiguration 3?21 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 table 3?4 describes the tx_datainfull[21..0] fpga fabric-transceiver channel interface signals. table 3?4. tx_datainfull[21..0] fpga fabric-transceiver channel interface signal descriptions (note 1) fpga fabric-transceiver channel interface description transmit signal description (based on cyclone iv gx supported fpga fabric-transceiver channel interface widths) 8-bit fpga fabric-t ransceiver channel interface tx_datainfull[7:0] : 8-bit data ( tx_datain ) the following signals are used only in 8b/10b modes: tx_datainfull[8] : control bit ( tx_ctrlenable ) tx_datainfull[9] transmitter force disparity compliance (pci express [pipe]) ( tx_forcedisp ) in all modes except pci express (pip e) functional mode. for pc i express (pip e) functional mode, ( tx_forcedispcompliance ) is used. tx_datainfull[10] : forced disparity value ( tx_dispval ) 10-bit fpga fabric-t ransceiver channel interface tx_datainfull[9:0] : 10-bit data ( tx_datain ) 16-bit fpga fabric-t ransceiver channel interface with pcs-pma set to 8/10 bits two 8-bit data ( tx_datain ) tx_datainfull[7:0] - tx_datain (lsbyte) and tx_datainfull[18:11] - tx_datain (msbyte) the following signals are used only in 8b/10b modes: tx_datainfull[8] - tx_ctrlenable (lsb) and tx_datainfull[19] - tx_ctrlenable (msb) force disparity enable tx_datainfull[9] - tx_forcedisp (lsb) and tx_datainfull[20] - tx_forcedisp (msb) force disparity value tx_datainfull[10] - tx_dispval (lsb) and tx_datainfull[21] - tx_dispval (msb) 20-bit fpga fabric-t ransceiver channel interface with pcs-pma set to 10 bits two 10-bit data ( tx_datain ) tx_datainfull[9:0] - tx_datain (lsbyte) and tx_datainfull[20:11] - tx_datain (msbyte) note to table 3?4 : (1) for all transceiver-related ports, refer to the ?transceiver port lists? section in the cyclone iv gx transceiver architecture chapter.
3?22 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 3?5 describes the rx_dataoutfull[31..0] fpga fabric-transceiver channel interface signals. table 3?5. rx_dataoutfull[31..0] fpga fabric-transceiver channel interface signal descriptions (part 1 of 3) fpga fabric-transceiver channel interface description receive signal description (based on cyclone iv gx supported fpga fabric-transceiver channel interface widths) 8-bit fpga fabric-transceiver channel interface the following signals are used in 8-bit 8b/10b modes: rx_dataoutfull[7:0] : 8-bit decoded data ( rx_dataout ) rx_dataoutfull[8] : control bit ( rx_ctrldetect ) rx_dataoutfull[9] : code violation status signal ( rx_errdetect ) rx_dataoutfull [10]: rx_syncstatus rx_dataoutfull[11] : disparity error status signal ( rx_disperr ) rx_dataoutfull[12] : pattern detect status signal ( rx_patterndetect ) rx_dataoutfull[13] : rate match fifo dele tion status indicator ( rx_rmfifodatadeleted ) in non-pci express (pip e) functional modes. rx_dataoutfull[14] : rate match fifo inse rtion status indicator ( rx_rmfifodatainserted ) in non-pci express (pip e) functional modes. rx_dataoutfull[14:13] : pci express (pipe) functional mode ( rx_pipestatus ) rx_dataoutfull[15] : 8b/10b running disparity indicator ( rx_runningdisp ) 10-bit fpga fabric-transceiver channel interface rx_dataoutfull[9:0] : 10-bit un-encoded data ( rx_dataout ) rx_dataoutfull[10] : rx_syncstatus rx_dataoutfull[11] : 8b/10b disparity error indicator ( rx_disperr ) rx_dataoutfull[12] : rx_patterndetect rx_dataoutfull[13] : rate match fifo dele tion status indicator ( rx_rmfifodatadeleted ) in non-pci express (pipe) functional modes rx_dataoutfull[14] : rate match fifo inse rtion status indicator ( rx_rmfifodatainserted ) in non-pci express (pip e) functional modes rx_dataoutfull[15] : 8b/10b running disparity indicator ( rx_runningdisp )
chapter 3: cyclone iv dynamic reconfiguration 3?23 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 16-bit fpga fabric-transceiver channel interface with pcs-pma set to 8/10 bits two 8-bit unencoded data ( rx_dataout ) rx_dataoutfull[7:0] - rx_dataout (lsbyte) and rx_dataoutfull[23:16] - rx_dataout (msbyte) the following signals are used in 16-bit 8b/10b modes: two control bits rx_dataoutfull[8] - rx_ctrldetect (lsb) and rx_dataoutfull[24] - rx_ctrldetect (msb) two receiver error detect bits rx_dataoutfull[9] - rx_errdetect (lsb) and rx_dataoutfull[25] - rx_errdetect (msb) two receiver sync status bits rx_dataoutfull [10] - rx_syncstatus (lsb) and rx_dataoutfull[26] - rx_syncstatus (msb) two receiver disparity error bits rx_dataoutfull [11] - rx_disperr (lsb) and rx_dataoutfull[27] - rx_disperr (msb) two receiver pattern detect bits rx_dataoutfull[12] - rx_patterndetect (lsb) and rx_dataoutfull[28] - rx_patterndetect (msb) rx_dataoutfull[13] and rx_dataoutfull[29] : rate match fifo deletion status indicator ( rx_rmfifodatadeleted ) in non-pci express (pipe) functional modes rx_dataoutfull[14] and rx_dataoutfull[30] : rate match fifo insertion status indicator ( rx_rmfifodatainserted ) in non-pci express (pipe) functional modes two 2-bit pci express (pipe) functional mode status bits rx_dataoutfull[14:13] - rx_pipestatus (lsb) and rx_dataoutfull[30:29] - rx_pipestatus (msb) rx_dataoutfull[15] and rx_dataoutfull[31] : 8b/10b running disparity indicator ( rx_runningdisp ) table 3?5. rx_dataoutfull[31..0] fpga fabric-transceiver channel interface signal descriptions (part 2 of 3) fpga fabric-transceiver channel interface description receive signal description (based on cyclone iv gx supported fpga fabric-transceiver channel interface widths)
3?24 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation data rate reconfiguration mode using rx local divider the rx local divider resides in the rx pma block for every channels. this is a hardware feature where a /2 divider is availa ble in each of the receiver channel for the supported device. you can use this rx local di vider to reconfigure the data rate at the receiver channel. this can be used for protocols such as sdi that has data rates in divisions of 2. by using this rx local divider, you can su pport two different data rates without using additional transceiver plls. this dynamic re configuration mode is available only for the receiver and not applicable to the transm itter. this reconfiguration mode using the rx local divider (/2) is only supported and available in ep4cgx30 (f484 package), ep4cgx50, and ep4cgx75 devices. f for more information about this rx local divider, refer to the cyclone iv gx transceiver architecture chapter. 20-bit fpga fabric-transceiver channel interface with pcs-pma set to 10 bits two 10-bit data ( rx_dataout ) rx_dataoutfull[9:0] - rx_dataout (lsbyte) and rx_dataoutfull[25:16] - rx_dataout (msbyte) wo receiver sync status bits rx_dataoutfull[10] - rx_syncstatus (lsb) and rx_dataoutfull[26] - rx_syncstatus (msb) rx_dataoutfull[11] and rx_dataoutfull[27] : 8b/10b disparity error indicator ( rx_disperr ) two receiver pattern detect bits rx_dataoutfull[12] - rx_patterndetect (lsb) and rx_dataoutfull[28] - rx_patterndetect (msb) rx_dataoutfull[13] and rx_dataoutfull[29] : rate match fifo deletion status indicator ( rx_rmfifodatadeleted ) in non-pci express (pipe) functional modes rx_dataoutfull[14] and rx_dataoutfull[30] : rate match fifo insertion status indicator ( rx_rmfifodatainserted ) in non-pci express (pipe) functional modes rx_dataoutfull[15] and rx_dataoutfull[31] : 8b/10b running disparity indicator ( rx_runningdisp ) table 3?5. rx_dataoutfull[31..0] fpga fabric-transceiver channel interface signal descriptions (part 3 of 3) fpga fabric-transceiver channel interface description receive signal description (based on cyclone iv gx supported fpga fabric-transceiver channel interface widths)
chapter 3: cyclone iv dynamic reconfiguration 3?25 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 control and status signals for channel reconfiguration the various control and status signals invo lved in the channel reconfiguration mode are as follows. refer to ?dynamic reconfiguration controller port list? on page 3?3 for the descriptions of the control and status signals. the following are the input control signals: logical_channel_address[n..0] reset_reconfig_address reconfig_reset reconfig_mode_sel[2..0] write_all the following are output status signals: reconfig_address_en reconfig_address_out[5..0] channel_reconfig_done busy the altgx_reconfig connection to the altgx instances when set in channel reconfiguration mode are as follows. for the port information, refer to ?dynamic reconfiguration controller port list? on page 3?3 . figure 3?10 shows the connection for channel reconfiguration mode. clocking/interface options the following describes the clocking/interface options available in cyclone iv gx devices. the core clocking setup describes the transceiver core clocks that are the write and read clocks of the transmit phase compensation fifo and the receive phase compensation fifo, respectively. core clocking is classified as transmitter core clocking and receiver core clocking. figure 3?10. altgx and altgx_reconfig connection for channel reconfiguration mode note to figure 3?10 : (1) this block can be reconfigured in channel reconfiguration mode. altgx_reconfig channel reconfig control logic reconfig_clk reconfig_reset write_all reconfig_data[15..0] busy channel_reconfig_done reconfig_address_out[5..0] reconfig_address_en reset_reconfig_address logical_channel_address[n..0] output status signals from the altgx_reconfig controller input control signals to the altgx_reconfig controller altgx reconfig_fromgxb[n..0] tx pcs (1) tx pma reconfig_togxb[3..0] rx pcs (1) rx pma + cdr (1)
3?26 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation table 3?6 lists the supported clocking interface settings for channel reconfiguration mode in cyclone iv gx devices. transmitter core clocking refers to the clock th at is used to write the parallel data from the fpga fabric into the transmit phase compensation fifo. you can use one of the following clocks to write into the transmit phase compensation fifo: tx_coreclk ?you can use a clock of the same frequency as tx_clkout from the fpga fabric to provide the write clock to the transmit phase compensation fifo. if you use tx_coreclk , it overrides the tx_clkout options in the altgx megawizard plug-in manager. tx_clkout ?the quartus ii software automatically routes tx_clkout to the fpga fabric and back into the transmit phase compensation fifo. option 1: share a single transmi tter core clock between transmitters enable this option if you want tx_clkout of the first channel (channel 0) of the transceiver block to provide the write clock to the transmitter phase compensation fifos of the remaining channels in the transceiver block. this option is typically enabled when all the channels of a transceiver block have the same functional mode and data rate and are reconfigured to the identical functional mode and data rate. table 3?6. dynamic reconfiguration clocking interface settings in channel reconfiguration mode altgx setting description dynamic reconfiguration channel internal and interface settings how should the receivers be clocked? select one of the available options: share a single transmitter core clock between receivers use the respective channel transmitter core clocks use the respective channel receiver core clocks how should the transmitters be clocked? select one of the available options: share a single transmitter core clock between transmitters use the respective channel transmitter core clocks
chapter 3: cyclone iv dynamic reconfiguration 3?27 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 3?11 shows the sharing of channel 0?s tx_clkout between all four regular channels of a tr ansceiver block. option 2: use the respective ch annel transmitter core clocks enable this option if you want the individual transmitter channel tx_clkout signals to provide the write clock to their respective transmit phase compensation fifos. this option is typically enabled when each transceiver channel is reconfigured to a different functional mode using channel reconfiguration. figure 3?11. option 1 for transmitter core clocking (channel reconfiguration mode) tx0 tx1 tx2 tx3 rx3 rx2 rx1 rx0 mpll fpga fabric transcei v er block tx_clkout[0] low-speed parallel clock ( tx_clkout0 ) high-speed serial clock generated by the mpll
3?28 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 3?12 shows how each transmitter channel?s tx_clkout signal provides a clock to the transmit phase compensation fifos of the respective transceiver channels. receiver core clocking refers to the clock that is used to read the parallel data from the receiver phase compensation fifo into the fpga fabric. you can use one of the following clocks to read from the receive phase compensation fifo: rx_coreclk ?you can use a clock of the same frequency as rx_clkout from the fpga fabric to provide the read clock to the receive phase compensation fifo. if you use rx_coreclk , it overrides the rx_clkout options in the altgx megawizard plug-in manager. rx_clkout ?the quartus ii software automatically routes rx_clkout to the fpga fabric and back into the receive phase compensation fifo. option 1: share a single transm itter core clock between receivers enable this option if you want tx_clkout of the first channel (channel 0) of the transceiver block to provide the read clock to the receive phase compensation fifos of the remaining receiver channels in the transceiver block. this option is typically enabled when all the channels of a transceiver block are in a basic or protocol configuration with ra te matching enabled and are reconfigured to another basic or protocol config uration with rate matching enabled. figure 3?12. option 2 for transmitter core clocking (channel reconfiguration mode) fpga fabric transcie v er block tx_clkout[0] tx_clkout[1] tx_clkout[2] tx_clkout[3] low-speed parallel clock tx0 tx1 tx2 tx3 rx3 rx2 rx1 rx0 mpll high-speed serial clock generated by the mpll
chapter 3: cyclone iv dynamic reconfiguration 3?29 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 3?13 shows the sharing of channel 0?s tx_clkout between all four channels of a transceiver block. option 2: use the respective ch annel transmitter core clocks enable this option if you want the individual transmitter channel?s tx_clkout signal to provide the read clock to it s respective receive phase compensation fifo. this option is typically enabled when all the transceiver ch annels have rate matching enabled with different data rate s and are reconfigured to another basic or protocol functional mode with rate matching enabled. figure 3?13. option 1 for receiver core clocking (channel reconfiguration mode) high-speed serial clock generated by the mpll low-speed parallel clock ( tx_clkout0 ) fpga fabric transcei v er block tx_clkout[0] tx0 rx0 tx1 tx2 tx3 rx1 rx2 rx3 mpll
3?30 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 3?14 shows the respective tx_clkout of each channel clocking the respective channels of a tr ansceiver block. option 3: use the respective channel receiver core clocks enable this option if you want the individual channel?s rx_clkout signal to provide the read clock to its respecti ve receive phase compensation fifo. this option is typically enabled when the channel is reconfigured from a basic or protocol configuration with or without rate matching to another basic or protocol configuration with or without rate matching. figure 3?14. option 2 for receiver core clocking (channel reconfiguration mode) note to figure 3?14 : (1) assuming channel 2 and 3 are running at th e same data rate with rate matcher enable d and are reconfigured to another basic o r protocol functional mode with rate matching enabled. high-speed serial clock generated by the mpll fpga fabric transcei v er block tx_clkout[0] tx_clkout[1] tx_clkout[2] rx0 rx1 rx2 (1) rx3 (1) tx0 tx1 tx2 (1) tx3 (1) mpll low-speed parallel clock
chapter 3: cyclone iv dynamic reconfiguration 3?31 dynamic reconfiguration modes ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 figure 3?15 shows the respective rx_clkout of each channel clocking the respective receiver channels of a transceiver block. pll reconfiguration mode cyclone iv gx device support the p ll reconfiguration support through the altpll_reconfig megawizard. you can use this mode to reconfigure the multipurpose pll or general purpose pll used to clock the transceiver channel without affecting the remaining blocks of the channel. when you reconfigure the multipurpose pll or general purpose pll of a transceiver block to run at a different data rate, all the transceiver channels listening to this multipurpose pll or general purpose pll also get reconfigured to the new da ta rate. channel settings are not affected. when you reconfigure the multipurpose pll or general purp ose pll to support a different data rate, you must ensure that the functional mode of the transceiver channel supports the reconfigured data rate. t he pll reconfiguration mode can be enabled by selecting the enable pll reconfiguration option in the altgx megawizard under reconfiguration setting tab. for multipurpose pll or general purpose pll reconfiguration, .mif files are required to dynamically reconfigure the pll setting in order to change the output frequency of the transceiver pll to support different data rates. the . mif files carries the reconfiguration information that will be used to reconfigure the multipurpose pll or general purpose pll dynamically. the . mif contents is generated automatically when you select the enable pll reconfiguration option in the reconfiguration setting in altgx instances. the .mif files will be generated based on the data rate and input reference clock setting in the altgx megawizard. you must use the external rom and feed its content to the altpll_reconfig megafunction to reconfigure the multipurpose pll setting. f for more information about instantiat ing the altpll_reconfig, refer to the an 609: implementing dynamic reconfigur ation in cyclone iv gx devices . figure 3?15. option 3 for receiver core clocking (channel reconfiguration mode) high-speed serial clock generated by the mpll fpga fabric transcei v er block rx_clkout[0] rx_clkout[1] rx1 rx0 tx0 tx1 mpll low-speed parallel clock
3?32 chapter 3: cyclone iv dynamic reconfiguration dynamic reconfiguration modes cyclone iv device handbook, volume 2 ? december 2010 altera corporation figure 3?16 shows the connection for pll reconfiguration mode. f for more information about connecting the altpll_reconfig and altgx instances, refer to the an 609: implementing dynamic reconfiguration in cyclone iv gx devices . table 3?7 lists the altgx megafunction ports for pll reconfiguration mode . figure 3?16. altgx and altpll_reconfig connection for pll reconfiguration mode notes to figure 3?16 : (1) = (number of transceiver plls config ured in the altgx megawizard) - 1. (2) you must connect the pll_reconfig_done signal from th e altgx to the pll_scandone port from altpll_reconfig. (3) you need two altpll_reconfig controllers if you have two separate altgx inst ances with transceiver pll instantiated in each altgx instance. mpll2 gxbl0 mpll1 transcei v er channels transcei v er channels transcei v er channels transcei v er channels altpll_reconfig (3) altgx pll_reconfig_signals write_rom_ena rom_address_out[7..0] rom_data_in pll_scandata[n..0] (1) pll_scanclk[n..0] (1) pll_scanclkena[n..0] (1) pll_configupdate[n..0] (1) pll_areset[n..0] (1) pll_reconfig_done[n..0] (1),(2) , pll_scandataout[n..0] (1) to external rom table 3?7. altgx megafunction port list for pll reconfiguration mode (part 1 of 2) port name (1) input/ output description comments pll_areset [n..0] input resets the transceiver pll. the pll_areset are asserted in two conditions: used to reset the transceiver pll during the reset sequence. during reset sequence, this signal is user controlled. after the transceiver pll is reconfigured, this signal is asserted high by the altpll_reconfig controller. at this time, this signal is not user controlled. you must connect the pll_areset port of altgx to the pll_areset port of the altpll_reconfig megafunction. the altpll_reconfig cont roller asserts the pll_areset port at the next rising clock edge after the pll_reconfig_done signal from the altgx megafunction goes high. after the pll_reconfig_done signal goes high, the transceiver pll is reset. when the pll re configuration is completed, this reset is performed automatically by the altpll_reconfig megafunc tion and is not user controlled. pll_scandata [n..0] input receives the scan da ta input from the altpll_reconfig megafunction. the reconfigurable transceiver pll received the scan data input through this port for the dynamically reconfigurable bits from the altpll_reconfig controller.
chapter 3: cyclone iv dynamic reconfiguration 3?33 error indication during dynamic reconfiguration ? december 2010 altera corporation c yclone iv device ha ndbook, volume 2 f for more information about the altpll_reconfig megafunction port list, description and usage, refer to the phase-locked loop reconfiguration (altpl_reconfig) mega function user guide . error indication during dynamic reconfiguration the altgx_reconfig megawizard plug-in manager provides an error status signal when you select the enable illegal mode checking option or the enable self recovery option in the error checks/dat a rate switch screen. the conditions under which the error signal is asserted are: enable illegal mode checking option ?when you select this option, the dynamic reconfiguration controller checks whethe r an attempted operation falls under one of the conditions listed below. the dy namic reconfiguration controller detects these conditions within two reconfig_clk cycles, deasserts the busy signal, and asserts the error signal for two reconfig_clk cycles. pma controls, read operation?none of the output ports ( rx_eqctrl_out , rx_eqdcgain_out , tx_vodctrl_out , and tx_preemp_out ) are selected in the altgx_reconfig instance and the read signal is asserted. pma controls, write operation?none of the input ports ( rx_eqctrl , rx_eqdcgain , tx_vodctrl , and tx_preemp ) are selected in the altgx_reconfig instance and the write_all signal is asserted. pll_scanclk [n..0] input drives the scanclk port on the reconfigurable transceiver pll. connect the pll_scanclk port of the altgx megafunction to the altpll_reconfig scanclk port. pll_scanclkena [n..0] input acts as a clock enable for the scanclk port on the reconfigurable transceiver pll. connect the pll_scanclkena port of the altgx megafunction to the altpll_reconfig scanclk port. pll_configupdate [n..0] input drives the configupdate port on the reconfigurable transceiver pll. this port is connected to the pll_configupdate port from the altpll_reconfig contro ller. after the final data bit is sent out, the altpll_r econfig controller asserts this signal. pll_reconfig_done [n..0] output this signal is asserted to indicate the reconfiguration process is done. connect the pll_reconfig_done port to the pll_scandone port on the altpll_reconfig controller. the transceiver pll scandone output signal drives this port and dete rmines when the pll is reconfigured. pll_scandataout [n..0] output this port scan out the current configuration of the transceiver pll. connect the pll_scandataout port to the pll_scandataout port of the altpll_reconfig controller. this port reads the current configuration of the transceiver pll and send it to the altpll_reconfig megafunction. note to table 3?7 : (1) = (number of transceiver plls config ured in the altgx megawizard) - 1. table 3?7. altgx megafunction port list for pll reconfiguration mode (part 2 of 2) port name (1) input/ output description comments
3?34 chapter 3: cyclone iv dynamic reconfiguration functional simulation of the dynamic reconfiguration process cyclone iv device handbook, volume 2 ? december 2010 altera corporation channel reconfiguration and pma reconfiguration mode select - read operation option: the reconfig_mode_sel input port is set to 3?b001 (channel reconfiguration mode) the read signal is asserted enable self recovery option?when you select this option, the altgx_reconfig megawizard plug-in ma nager provides the error output port. the dynamic reconfiguration controll er quits an operation if it did not complete within the expected number of clock cycles. after re covering from the illegal operation, the dynamic reconfiguration controller deasserts the busy signal and asserts the error output port for two reconfig_clk cycles. functional simulation of the dy namic reconfiguration process this section describes the points to be cons idered during functional simulation of the dynamic reconfiguration process. you must connect the altgx_reconfig instance to the altgx_instance/altgx instances in your design for functional simulation. the functional simulation uses a re duced timing model of the dynamic reconfiguration controller. the duration of the offset cancellation process is 16 reconfig_clk clock cycles for functional simulation only. the gxb_powerdown signal must not be asserted during the offset cancellation sequence (for functional simulation and silicon). document revision history table 3?8 lists the revision history for this chapter. table 3?8. document revision history date version changes made december 2010 2.0 updated for the quartus ii software version 10.1 release. updated table 3?1 , table 3?2 , table 3?3 , table 3?4 , table 3?5 , and table 3?6 . added table 3?7 . updated figure 3?1 , figure 3?11 , figure 3?13 , and figure 3?14 . updated ?offset cancellation feature? , ?error indication during dynamic reconfiguration? , ?data rate reconfiguration mode using rx local divider? , ?pma controls reconfiguration mode? , and ?control and status signals for channel reconfiguration? sections. july 2010 1.0 initial release.
101 innovation drive san jose, ca 95134 www.altera.com cyclone iv device handbook, volume 3 cyiv-5v3-1.4
copyright ? 2010 altera corporation. all rights reserved. altera, the programmable solutions company, the stylized altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of altera corporation in the u.s. and other countries. rsds and ppds are registered trademarks of national semiconductor. all other product or service names are the proper ty of their respective holders. altera products are protected under numerous u.s. and foreign patents and pending applications, maskwork rights, and copyrights. altera warrant s performance of its semiconductor products to current specifications in accordance with altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. altera as- sumes no responsibility or liability arising out of the application or use of any information, product, or service described he rein except as expressly agreed to in writing by altera corporation. altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services .
? december 2010 altera corporation cyclone iv device handbook, volume 3 contents chapter revision dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii additional information about this handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-v how to contact altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-v typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .info-v section 1. device datasheet revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 chapter 1. cyclone iv device datasheet operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 maximum allowed overshoot or undershoot voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 esd performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 dc characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 supply current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 bus hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 oct specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 pin capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 internal weak pull-up and weak pull-down resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 hot-socketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 schmitt trigger input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 i/o standard specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 switching characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 transceiver performance specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 core performance specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 clock tree specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 pll specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24 embedded multiplier specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25 memory block specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25 configuration and jtag specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 periphery performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27 high-speed i/o specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27 external memory interface specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 duty cycle distortion specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 oct calibration timing specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 ioe programmable delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34 i/o timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37 glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-38 document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-43
2 contents cyclone iv device handbook, volume 3 ? december 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 3 chapter revision dates the chapter in this book, cyclone iv device handbook, volume 3 , were revised on the following dates. where chapters or groups of chapters are available separately, part numbers are listed. chapter 1 cyclone iv device datasheet revised: december 2010 part number: cyiv-53001-1.4
iv chapter revision dates cyclone iv device handbook, volume 3 ? december 2010 altera corporation
? december 2010 altera corporation cyclone iv device handbook, volume 3 additional information about this handbook this handbook provides comprehensive information about the altera ? cyclone ? iv family of devices. how to contact altera for the most up-to-date information about altera products, see the following table. typographic conventions the following table shows the typographic conventions that this document uses. contact (note 1) contact method address technical support website www.altera.com/support technical training website www.altera.com/training email custrain@altera.com non-technical support (general) email nacomp@altera.com (software licensing) email authorization@altera.com note: (1) you can also contact your local altera sales office or sales representative. visual cue meaning bold type with initial capital letters indicates command names, dialog box titles, dialog box options, and other gui labels. for example, save as dialog box. for gui elements, capitalization matches the gui. bold type indicates directory names, project names, disk drive names, file names, file name extensions, dialog box options, software utility names, and other gui labels. for example, \qdesigns directory, d: drive, and chiptrip.gdf . italic type with initial capital letters indicates document titles. for example, an 519: stratix iv design guidelines. italic type indicates variables. for example, n + 1. variable names are enclosed in angle brackets (< >). for example, and .pof . initial capital letters indicates keyboard keys and menu names. for example, delete key and the options menu. ?subheading title? quotation marks indicate references to sections within a document and titles of quartus ii help topics. for example, ?typographic conventions.?
info?vi additional information cyclone iv device handbook, volume 3 ? december 2010 altera corporation courier type indicates signal, port, register, bit, block, and primitive names. for example, data1 , tdi , and input . active-low signals are denoted by suffix n . for example, resetn . indicates command line commands and anything that must be typed exactly as it appears. for example, c:\qdesigns\tutorial\chiptrip.gdf . also indicates sections of an actual file, such as a report file, references to parts of files (for example, the ahdl keyword subdesign ), and logic function names (for example, tri ). 1., 2., 3., and a., b., c., and so on. numbered steps indicate a list of items when the sequence of the items is important, such as the steps listed in a procedure. bullets indicate a list of items when the sequence of the items is not important. 1 the hand points to information th at requires special attention. c a caution calls attention to a condition or possible situation that can damage or destroy the product or your work. w a warning calls attention to a condition or possible situation that can cause you injury. r the angled arrow instructs you to press enter . f the feet direct you to more information about a particular topic. visual cue meaning
? december 2010 altera corporation cyclone iv device handbook, volume 3 section 1. device datasheet this section provides the cyclone ? iv device datasheet. it includes the following chapter: chapter 1, cyclone iv device datasheet revision history refer to each chapter for its own specific revision history. for information about when each chapter was updated, refer to the chapter revision dates section, which appears in the complete handbook.

? december 2010 altera corporation cyclone iv device handbook, volume 3 1. cyclone iv device datasheet this chapter describes the electrical and switching characteristics for cyclone ? iv devices. electrical characteristics include operating conditions and power consumption. switching characteristics include transceiver specifications, core, and periphery performance. this chapter also describes i/o timing, including programmable i/o element (ioe) delay and programmable output buffer delay. this chapter includes the following sections: ?operating conditions? on page 1?1 ?power consumption? on page 1?15 ?switching characteristics? on page 1?16 ?i/o timing? on page 1?37 ?glossary? on page 1?38 operating conditions when cyclone iv devices are implemented in a system, they are rated according to a set of defined parameters. to maintain the highest possible performance and reliability of cyclone iv devices, you must consider the operating requirements described in this chapter. cyclone iv devices are offered in commercial, industrial, and automotive grades. cyclone iv e devices offer ?6 (fastest), ?7, ?8, ?8l, and ?9l speed grades for commercial devices, ?7 and ?8l speed grades for industrial devices, and ?7 speed grade for automotive devices. cyclone iv gx devices offer ?6 (fastest), ?7, and ?8 speed grades for commercial devices and ?7 speed grade for industrial devices. f for more information about the supported speed grades for respective cyclone iv devices, refer to the cyclone iv fpga device family overview chapter. 1 cyclone iv e devices are offered in core voltages of 1.0 and 1.2 v. cyclone iv e devices with a core voltage of 1.0 v have an ?l? prefix attached to the speed grade. in this chapter, a prefix associated with the operating temperature range is attached to the speed grades; commercial with a ?c? prefix, industrial with an ?i? prefix, and automotive with an ?a? prefix. therefore, commercial devices are indicated as c6, c7, c8, c8l, or c9l per respective speed grade. industrial devices are indicated as i7, i8, or i8l. automotive devices are indicated as a7. cyiv-53001-1.4
1?2 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation absolute maximum ratings absolute maximum ratings define the maximum operating conditions for cyclone iv devices. the values are based on experiments conducted with the device and theoretical modeling of breakdown and damage mechanisms. the functional operation of the device is not implied at these conditions. table 1?1 lists the absolute maximum ratings for cyclone iv devices. c conditions beyond those listed in table 1?1 cause permanent damage to the device. additionally, device operation at the absolute maximum ratings for extended periods of time have adverse effects on the device. maximum allowed overshoot or undershoot voltage during transitions, input signals may overshoot to the voltage shown in table 1?2 and undershoot to ?2.0 v for a magnitude of currents less than 100 ma and for periods shorter than 20 ns. table 1?2 lists the maximum allowed input overshoot voltage and the duration of the overshoot voltage as a percentage over the lifetime of the device. the maximum allowed overshoot duration is specified as a percentage of high-time over the lifetime of the device. 1 a dc signal is equivalent to 100% duty cycle. for example, a signal that overshoots to 4.2 v can only be at 4.2 v for 10.74% over the lifetime of the device; for a device lifetime of 10 years, this amounts to 10.74/10ths of a year. table 1?1. absolute maximum ratings for cyclone iv devices (note 1) ?preliminary symbol parameter min max unit v ccint core voltage, pci express ? (pcie ? ) hard ip block, and transceiver physical coding sublayer (pcs) power supply ?0.5 1.8 v v cca phase - locked loop (pll) analog power supply ?0.5 3.75 v v ccd_pll pll digital power supply ?0.5 1.8 v v ccio i/o banks power supply ?0.5 3.9 v v cc_clkin differential clock input pins power supply ?0.5 3.9 v v cch_gxb transceiver output buffer power supply ?0.5 2.625 v v cca_gxb transceiver physical medium attachment (pma) and auxiliary power supply ?0.5 2.625 v v ccl_gxb transceiver pma and auxiliary power supply ?0.5 1.8 v v i dc input voltage ?0.5 3.95 v i out dc output current, per pin ?25 40 ma t stg storage temperature ?65 150 c t j operating junction temperature ?40 125 c note to table 1?1 : (1) supply voltage specifications apply to voltage readings taken at the device pins with respect to ground, not at the power supply.
chapter 1: cyclone iv device datasheet 1?3 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 figure 1?1 shows the methodology to determine the overshoot duration. the overshoot voltage is shown in red and is present on the input pin of the cyclone iv device at over 4.1 v but below 4.2 v. from table 1?2 , for an overshoot of 4.1 v, the percentage of high time for the overshoot can be as high as 31.97% over a 10-year period. percentage of high time is calculated as ([delta t]/t) 100. this 10-year period assumes that the device is always turned on with 100% i/o toggle rate and 50% duty cycle signal. for lower i/o toggle rates and situations in which the device is in an idle state, lifetimes are increased. table 1?2. maximum allowed overshoot during transitions over a 10 - year time frame for cyclone iv devices symbol parameter condition (v) overshoot duration as % of high time unit v i ac input voltage v i = 3.95 100 % v i = 4.0 95.67 % v i = 4.05 55.24 % v i = 4.10 31.97 % v i = 4.15 18.52 % v i = 4.20 10.74 % v i = 4.25 6.23 % v i = 4.30 3.62 % v i = 4.35 2.1 % v i = 4.40 1.22 % v i = 4.45 0.71 % v i = 4.50 0.41 % v i = 4.60 0.14 % v i = 4.70 0.047 % figure 1?1. cyclone iv devices overshoot duration 3.3 v 4.1 v 4.2 v t t
1?4 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation recommended operating conditions this section lists the functional operation limits for ac and dc parameters for cyclone iv devices. table 1?3 and ta b l e 1 ?4 list the steady-state voltage and current values expected from cyclone iv e and cyclone iv gx devices. all supplies must be strictly monotonic without plateaus. table 1?3. recommended operating conditions for cyclone iv e devices (note 1) , (2) (part 1 of 2) symbol parameter conditions min typ max unit v ccint (3) supply voltage for internal logic, 1.2-v operation ? 1.15 1.2 1.25 v supply voltage for internal logic, 1.0-v operation ? 0.97 1.0 1.03 v v ccio (3) , (4) supply voltage for output buffers, 3.3-v operation ? 3.135 3.3 3.465 v supply voltage for output buffers, 3.0-v operation ? 2.85 3 3.15 v supply voltage for output buffers, 2.5-v operation ? 2.375 2.5 2.625 v supply voltage for output buffers, 1.8-v operation ? 1.71 1.8 1.89 v supply voltage for output buffers, 1.5-v operation ? 1.425 1.5 1.575 v supply voltage for output buffers, 1.2-v operation ? 1.14 1.2 1.26 v v cca (3) supply (analog) voltage for pll regulator ? 2.375 2.5 2.625 v v ccd_pll (3) supply (digital) voltage for pll, 1.2-v operation ? 1.15 1.2 1.25 v supply (digital) voltage for pll, 1.0-v operation ? 0.97 1.0 1.03 v v i input voltage ? ?0.5 ? 3.6 v v o output voltage ? 0 ? v ccio v t j operating junction temperature for commercial use 0 ? 85 c for industrial use ?40 ? 100 c for automotive use ?40 ? 125 c t ramp power supply ramp time standard power-on reset (por) (5) 50 s ? 50 ms ? fast por (6) 50 s ? 3 ms ?
chapter 1: cyclone iv device datasheet 1?5 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 i diode magnitude of dc current across pci-clamp diode when enable ? ??10ma notes to table 1?3 : (1) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. (2) v ccio for all i/o banks must be powered up during device operation. all vcca pins must be powered to 2.5 v (even when plls are not used) and must be powered up and powered down at the same time. (3) v cc must rise monotonically. (4) v ccio powers all input buffers. (5) the por time for standard por ranges between 50 and 200 ms. each individual power supply must reach the recommended operating range within 50 ms. (6) the por time for fast por ranges between 3 and 9 ms. each individual power supply must reach the recommended operating range within 3 ms. table 1?3. recommended operating conditions for cyclone iv e devices (note 1) , (2) (part 2 of 2) symbol parameter conditions min typ max unit table 1?4. recommended operating conditions for cyclone iv gx devices (part 1 of 2)?preliminary symbol parameter conditions min typ max unit v ccint (3) core voltage, pcie hard ip block, and transceiver pcs power supply ? 1.16 1.2 1.24 v v cca (1) , (3) pll analog power supply ? 2.375 2.5 2.625 v v ccd_pll (2) pll digital power supply ? 1.16 1.2 1.24 v v ccio (3) , (4) i/o banks power supply for 3.3 - v operation ? 3.135 3.3 3.465 v i/o banks power supply for 3.0 - v operation ? 2.85 3 3.15 v i/o banks power supply for 2.5 - v operation ? 2.375 2.5 2.625 v i/o banks power supply for 1.8 - v operation ? 1.71 1.8 1.89 v i/o banks power supply for 1.5 - v operation ? 1.425 1.5 1.575 v i/o banks power supply for 1.2 - v operation ? 1.14 1.2 1.26 v v cc_clkin (3) , (5) , (6) differential clock input pins power supply for 3.3 - v operation ? 3.135 3.3 3.465 v differential clock input pins power supply for 3.0 - v operation ? 2.85 3 3.15 v differential clock input pins power supply for 2.5 - v operation ? 2.375 2.5 2.625 v differential clock input pins power supply for 1.8 - v operation ? 1.71 1.8 1.89 v differential clock input pins power supply for 1.5 - v operation ? 1.425 1.5 1.575 v differential clock input pins power supply for 1.2 - v operation ? 1.14 1.2 1.26 v v cch_gxb transceiver output buffer power supply ? 2.375 2.5 2.625 v v cca_gxb transceiver pma and auxiliary power supply ? 2.375 2.5 2.625 v
1?6 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation esd performance this section lists the electrostatic discharge (esd) voltages using the human body model (hbm) and charged device model (cdm) for cyclone iv devices general purpose i/os (gpios) and high-speed serial interface (hssi) i/os. table 1?6 lists the esd for cyclone iv devices gpios and hssi i/os. v ccl_gxb transceiver pma and auxiliary power supply ? 1.16 1.2 1.24 v v i dc input voltage ? ?0.5 ? 3.6 v v o dc output voltage ? 0 ? v ccio v t j operating junction temperature for commercial use 0 ? 85 c for industrial use ?40 ? 100 c t ramp power supply ramp time standard power - on reset (por) (7) 50 s ? 50 ms ? fast por (8) 50 s ? 3 ms ? i diode magnitude of dc current across pci-clamp diode when enabled ???10ma notes to table 1?4 : (1) all vcca pins must be powered to 2.5 v (even when plls are not used) and must be powered up and powered down at the same time. (2) you must connect v ccd_pll to v ccint through a decoupling capacitor and ferrite bead. (3) power supplies must rise monotonically. (4) v ccio for all i/o banks must be powered up during device operation. configurations pins are powered up by v ccio of i/o banks 3, 8, and 9 where i/o banks 3 and 9 only support v ccio of 1.5, 1.8, 2.5, 3.0, and 3.3 v. for fast passive parallel (fpp) configuration mode, the v ccio level of i/o bank 8 must be powered up to 1.5, 1.8, 2.5, 3.0, and 3.3 v. (5) you must set v cc_clkin to 2.5 v if you use clkin as a high-speed serial interface (hssi) refclk . v cc_clkin located at i/o banks 3b and 8b only support a nominal voltage level of 2.5 v for lvds input function because they are dedicated for hssi refclk . (6) the clkin pins in i/o banks 3b and 8b can support single-ended i/o standard. (7) the por time for standard por ranges between 50 and 200 ms. v ccint , v cca , and v ccio of i/o banks 3, 8, and 9 must reach the recommended operating range within 50 ms. (8) the por time for fast por ranges between 3 and 9 ms. v ccint , v cca , and v ccio of i/o banks 3, 8, and 9 must reach the recommended operating range within 3 ms. table 1?4. recommended operating conditions for cyclone iv gx devices (part 2 of 2)?preliminary symbol parameter conditions min typ max unit table 1?5. esd for cyclone iv devices gpios and hssi i/os symbol parameter passing voltage unit v esdhbm esd voltage using the hbm (gpios) 2000 v esd using the hbm (hssi i/os) (1) 1000 v v esdcdm esd using the cdm (gpios) 500 v esd using the cdm (hssi i/os) (1) 250 v note to table 1?5 : (1) this value is applicable only to cyclone iv gx devices.
chapter 1: cyclone iv device datasheet 1?7 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 dc characteristics this section lists the i/o leakage current, pin capacitance, on-chip termination (oct) tolerance, and bus hold specifications for cyclone iv devices. supply current the device supply current requirement is the minimum current drawn from the power supply pins that can be used as a reference for power size planning. use the excel-based early power estimator (epe) to get the supply current estimates for your design because these currents vary greatly with the resources used. ta b l e 1 ?6 lists the i/o pin leakage current for cyclone iv devices. bus hold the bus hold retains the last valid logic state after the source driving it either enters the high impedance state or is removed. each i/o pin has an option to enable bus hold in user mode. bus hold is always disabled in configuration mode. ta b l e 1 ?7 lists bus hold specifications for cyclone iv devices. table 1?6. i/o pin leakage current for cyclone iv devices (note 1) , (2) symbol parameter conditions device min typ max unit i i input pin leakage current v i = 0 v to v cciomax ? ?10 ? 10 ? a i oz tristated i/o pin leakage current v o = 0 v to v cciomax ? ?10 ? 10 ? a notes to table 1?6 : (1) this value is specified for normal device operation. the value varies during device power - up. this applies for all v ccio settings (3.3, 3.0, 2.5, 1.8, 1.5, and 1.2 v). (2) the 10 ? a i/o leakage current limit is applicable when the internal clamping diode is off. a higher current can be observed when the di ode is on. table 1?7. bus hold parameter for cyclone iv devices (part 1 of 2) (note 1) ?preliminary parameter condition v ccio (v) unit 1.2 1.5 1.8 2.5 3.0 3.3 min max min max min max min max min max min max bus hold low, sustaining current v in > v il (maximum) 8 ? 12 ? 30 ? 50 ? 70 ? 70 ? ? a bus hold high, sustaining current v in < v il (minimum) ?8 ? ?12 ? ?30 ? ?50 ? ?70 ? ?70 ? ? a bus hold low, overdrive current 0 v < v in < v ccio ? 125 ? 175 ? 200 ? 300 ? 500 ? 500 ? a bus hold high, overdrive current 0 v < v in < v ccio ? ?125 ? ?175 ? ?200 ? ?300 ? ?500 ? ?500 ? a
1?8 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation oct specifications ta b l e 1 ?8 lists the variation of oct without calibration across process, temperature, and voltage (pvt). oct calibration is automatically performed at device power-up for oct-enabled i/os. ta b l e 1 ?9 lists the oct calibration accuracy at device power-up. the oct resistance may vary with the variation of temperature and voltage after calibration at device power-up. use table 1?10 and equation 1?1 to determine the final oct resistance considering the variations after calibration at device power-up. ta b l e 1 ?1 0 lists the change percentage of the oct resistance with voltage and temperature. bus hold trip point ? 0.3 0.9 0.375 1.125 0.68 1.07 0.7 1.7 0.8 2 0.8 2 v note to table 1?7 : (1) bus hold trip points are based on the calculated input voltages from the jedec standard. table 1?7. bus hold parameter for cyclone iv devices (part 2 of 2) (note 1) ?preliminary parameter condition v ccio (v) unit 1.2 1.5 1.8 2.5 3.0 3.3 min max min max min max min max min max min max table 1?8. series oct without calibration specificat ions for cyclone iv devices?preliminary description v ccio (v) resistance tolerance unit commercial max industrial and automotive max series oct without calibration 3.0 30 40 % 2.5 30 40 % 1.8 40 50 % 1.5 50 50 % 1.2 50 50 % table 1?9. series oct with calibration at device power - up specifications for cyclone iv devices ?preliminary description v ccio (v) calibration accuracy unit commercial max industrial and automotive max series oct with calibration at device power - up 3.0 10 10 % 2.5 10 10 % 1.8 10 10 % 1.5 10 10 % 1.2 10 10 %
chapter 1: cyclone iv device datasheet 1?9 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 example 1?1 shows how to calculate the change of 50- ?? i/o impedance from 25c at 3.0 v to 85c at 3.15 v. table 1?10. oct variation after calibration at device power - up for cyclone iv devices?preliminary nominal voltage dr/dt (%/c) dr/dv (%/mv) 3.0 0.262 ?0.026 2.5 0.234 ?0.039 1.8 0.219 ?0.086 1.5 0.199 ?0.136 1.2 0.161 ?0.288 equation 1?1. final oct resistance (note 1) , (2) , (3) , (4) , (5) , (6) ? r v = (v 2 ? v 1 ) 1000 dr/dv ????? (7) ? r t = (t 2 ? t 1 ) dr/dt ????? (8) for ? r x < 0; mf x = 1/ (| ? r x |/100 + 1) ????? (9) for ? r x > 0; mf x = ? r x /100 + 1 ????? (10) mf = mf v mf t ????? (11) r final = r initial mf ????? (12) notes to equation 1?1 : (1) t 2 is the final temperature. (2) t 1 is the initial temperature. (3) mf is multiplication factor. (4) r final is final resistance. (5) r initial is initial resistance. (6) subscript x refers to both v and t . (7) ? r v is a variation of resistance with voltage. (8) ? r t is a variation of resistance with temperature. (9) dr/dt is the change percentage of resistance with temperature after calibration at device power - up. (10) dr/dv is the change percentage of resistance with voltage after calibration at device power - up. (11) v 2 is final voltage. (12) v 1 is the initial voltage. example 1?1. impedance change ? r v = (3.15 ? 3) 1000 ?0.026 = ?3.83 ? r t = (85 ? 25) 0.262 = 15.72 because ? r v is negative, mf v = 1 / (3.83/100 + 1) = 0.963 because ? r t is positive, mf t = 15.72/100 + 1 = 1.157 mf = 0.963 1.157 = 1.114 r final = 50 1.114 = 55.71 ?
1?10 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation pin capacitance ta b l e 1 ?11 lists the pin capacitance for cyclone iv devices. internal weak pull-up and weak pull-down resistor ta b l e 1 ?1 2 lists the weak pull-up and pull-down resistor values for cyclone iv devices. table 1?11. pin capacitance for cyclone iv devices ?preliminary symbol parameter typical ? quad flat pack (qfp) typical ? quad flat no leads (qfn) typical ? fineline bga (fbga) unit c iotb input capacitance on top and bottom i/o pins 7 7 6 pf c iolr input capacitance on right i/o pins 7 7 5 pf c lvdslr input capacitance on right i/o pins with dedicated lvds output 8 8 7 pf c vreflr (1) input capacitance on right dual - purpose vref pin when used as v ref or user i/o pin 21 21 21 pf c vreftb (1) input capacitance on top and bottom dual - purpose vref pin when used as v ref or user i/o pin 23 (2) 23 23 pf c clktb input capacitance on top and bottom dedicated clock input pins 7 7 6 pf c clklr input capacitance on right dedicated clock input pins 6 6 5 pf notes to table 1?11 : (1) when you use the vref pin as a regular input or output, you can expect a reduced performance of toggle rate and t co because of higher pin capacitance. (2) c vreftb for the ep4ce22 device is 30 pf. table 1?12. internal weak pull - up and weak pull - down resistor values for cyclone iv devices (note 1) (part 1 of 2)? preliminary symbol parameter conditions min typ max unit r _pu value of the i/o pin pull-up resistor before and during configuration, as well as user mode if you enable the programmable pull-up resistor option v ccio = 3.3 v 5% (2) , (3) 72541k ? v ccio = 3.0 v 5% (2) , (3) 72847k ? v ccio = 2.5 v 5% (2) , (3) 83561k ? v ccio = 1.8 v 5% (2) , (3) 10 57 108 k ? v ccio = 1.5 v 5% (2) , (3) 13 82 163 k ? v ccio = 1.2 v 5% (2) , (3) 19 143 351 k ?
chapter 1: cyclone iv device datasheet 1?11 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 hot-socketing ta b l e 1 ?1 3 lists the hot-socketing specifications for cyclone iv devices. 1 during hot-socketing, the i/o pin capacitance is less than 15 pf and the clock pin capacitance is less than 20 pf. r _pd value of the i/o pin pull-down resistor before and during configuration v ccio = 3.3 v 5% (4) 61930k ? v ccio = 3.0 v 5% (4) 62236k ? v ccio = 2.5 v 5% (4) 62543k ? v ccio = 1.8 v 5% (4) 73571k ? v ccio = 1.5 v 5% (4) 8 50 112 k ? notes to table 1?12 : (1) all i/o pins have an option to enable weak pull - up except the configuration, test, and jtag pins. the weak pull - down feature is only available for jtag tck . (2) pin pull - up resistance values may be lower if an external source drives the pin higher than v ccio . (3) r _pu = (v ccio ?v i )/i r_pu minimum condition: ?40c; v ccio = v cc + 5%, v i = v cc + 5% ? 50 mv; typical condition: 25c; v ccio = v cc , v i = 0 v; maximum condition: 100c; v ccio = v cc ? 5% , v i = 0 v; in which v i refers to the input voltage at the i/o pin. (4) r _pd = v i /i r_pd minimum condition: ?40c; v ccio = v cc + 5%, v i = 50 mv; typical condition: 25c; v ccio = v cc , v i = v cc ?5%; maximum condition: 100c; v ccio = v cc ? 5% , v i = v cc ? 5%; in which v i refers to the input voltage at the i/o pin. table 1?12. internal weak pull - up and weak pull - down resistor values for cyclone iv devices (note 1) (part 2 of 2)? preliminary symbol parameter conditions min typ max unit table 1?13. hot - socketing specifications for cyclone iv devices ?preliminary symbol parameter maximum i iopin(dc) dc current per i/o pin 300 ? a i iopin(ac) ac current per i/o pin 8 ma (1) i xcvrtx(dc) dc current per transceiver tx pin 100 ma i xcvrrx(dc) dc current per transceiver rx pin 50 ma note to table 1?13 : (1) the i/o ramp rate is 10 ns or more. for ramp rates faster than 10 ns, |iiopin| = c dv/dt, in which c is the i/o pin capacitance and dv/dt is the slew rate.
1?12 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation schmitt trigger input cyclone iv devices support schmitt trigger input on the tdi , tms , tck , nstatus , nconfig , nce , conf_done , and dclk pins. a schmitt trigger feature introduces hysteresis to the input signal for improved noise immunity, especially for signals with slow edge rate. table 1?14 lists the hysteresis specifications across the supported v ccio range for schmitt trigger inputs in cyclone iv devices. i/o standard specifications the following tables list input voltage sensitivities (v ih and v il ), output voltage (v oh and v ol ), and current drive characteristics (i oh and i ol ), for various i/o standards supported by cyclone iv devices. table 1?15 through ta b l e 1 ?2 0 provide the i/o standard specifications for cyclone iv devices. table 1?14. hysteresis specifications for schmitt trigger input in cyclone iv devices ?preliminary symbol parameter conditions (v) minimum unit v schmitt hysteresis for schmitt trigger input v ccio =3.3 200 mv v ccio =2.5 200 mv v ccio =1.8 140 mv v ccio =1.5 110 mv table 1?15. single - ended i/o standard specifications for cyclone iv devices (note 1) , (2) ?preliminary i/o standard v ccio (v) v il (v) v ih (v) v ol (v) v oh (v) i ol (ma) i oh (ma) min typ max min max min max max min 3.3 - v lvttl (3) 3.135 3.3 3.465 ? 0.8 1.7 3.6 0.45 2.4 4 ?4 3.3 - v lvcmos (3) 3.135 3.3 3.465 ? 0.8 1.7 3.6 0.2 v ccio ? 0.2 2 ?2 3.0 - v lvttl (3) 2.85 3.0 3.15 ?0.3 0.8 1.7 v ccio + 0.3 0.45 2.4 4 ?4 3.0 - v lvcmos (3) 2.85 3.0 3.15 ?0.3 0.8 1.7 v ccio + 0.3 0.2 v ccio ? 0.2 0.1 ?0.1 2.5 - v lvttl and lvcmos (3) 2.375 2.5 2.625 ?0.3 0.7 1.7 v ccio + 0.3 0.4 2.0 1 ?1 1.8 - v lvttl and lvcmos 1.71 1.8 1.89 ?0.3 0.35 * v ccio 0.65 * v ccio 2.25 0.45 v ccio ? 0.45 2 ?2 1.5 - v lvcmos 1.425 1.5 1.575 ?0.3 0.35 * v ccio 0.65 * v ccio v ccio + 0.3 0.25 * v ccio 0.75 * v ccio 2?2 1.2 - v lvcmos 1.14 1.2 1.26 ?0.3 0.35 * v ccio 0.65 * v ccio v ccio + 0.3 0.25 * v ccio 0.75 * v ccio 2?2 3.0-v pci 2.85 3.0 3.15 ? 0.3 * v ccio 0.5 * v ccio v ccio + 0.3 0.1 * v ccio 0.9 * v ccio 1.5 ?0.5 3.0-v pci-x 2.85 3.0 3.15 ? 0.35* v ccio 0.5 * v ccio v ccio + 0.3 0.1 * v ccio 0.9 * v ccio 1.5 ?0.5 notes to table 1?15 : (1) for voltage - referenced receiver input waveform and explanation of terms used in table 1?15 , refer to ?glossary? on page 1?38 . (2) ac load cl = 10 pf (3) for more information about interfacing cyclone iv devices with 3.3/3.0/2.5 - v lvttl/lvcmos i/o standards, refer to an 447: interfacing cyclone iii and cyclone iv devices with 3.3/3.0/2.5-v lvttl/lvcmos i/o systems .
chapter 1: cyclone iv device datasheet 1?13 operating conditions ? december 2010 altera corporation cyclone iv device handbook, volume 3 f for more information about receiver input and transmitter output waveforms, and for other differential i/o standards, refer to the i/o features in cyclone iv devices chapter . table 1?16. single - ended sstl and hstl i/o reference voltage specifications for cyclone iv devices (note 1) ?preliminary i/o standard v ccio (v) v ref (v) v tt (v) (2) min typ max min typ max min typ max sstl - 2 class i, ii 2.375 2.5 2.625 1.19 1.25 1.31 v ref ? 0.04 v ref v ref + 0.04 sstl - 18 class i, ii 1.7 1.8 1.9 0.833 0.9 0.969 v ref ? 0.04 v ref v ref + 0.04 hstl - 18 class i, ii 1.71 1.8 1.89 0.85 0.9 0.95 0.85 0.9 0.95 hstl - 15 class i, ii 1.425 1.5 1.575 0.71 0.75 0.79 0.71 0.75 0.79 hstl - 12 class i, ii 1.14 1.2 1.26 0.48 * v ccio (3) 0.5 * v ccio (3) 0.52 * v ccio (3) ? 0.5 * v ccio ? 0.47 * v ccio (4) 0.5 * v ccio (4) 0.53 * v ccio (4) notes to table 1?16 : (1) for an explanation of terms used in table 1?16 , refer to ?glossary? on page 1?38 . (2) v tt of the transmitting device must track v ref of the receiving device. (3) value shown refers to dc input reference voltage, v ref(dc) . (4) value shown refers to ac input reference voltage, v ref(ac) . table 1?17. single - ended sstl and hstl i/o standards signal specifications for cyclone iv devices?preliminary i/o standard v il(dc) (v) v ih(dc) (v) v il(ac) (v) v ih(ac) (v) v ol (v) v oh (v) i ol (ma) i oh (ma) min max min max min max min max max min sstl - 2 class i ? v ref ? 0.18 v ref + 0.18 ?? v ref ? 0.35 v ref + 0.35 ? v tt ? 0.57 v tt + 0.57 8.1 ?8.1 sstl - 2 class ii ? v ref ? 0.18 v ref + 0.18 ?? v ref ? 0.35 v ref + 0.35 ? v tt ? 0.76 v tt + 0.76 16.4 ?16.4 sstl - 18 class i ? v ref ? 0.125 v ref + 0.125 ?? v ref ? 0.25 v ref + 0.25 ? v tt ? 0.475 v tt + 0.475 6.7 ?6.7 sstl - 18 class ii ? v ref ? 0.125 v ref + 0.125 ?? v ref ? 0.25 v ref + 0.25 ?0.28 v ccio ? 0.28 13.4 ?13.4 hstl - 18 class i ? v ref ? 0.1 v ref + 0.1 ?? v ref ? 0.2 v ref + 0.2 ?0.4v ccio ? 0.4 8 ?8 hstl - 18 class ii ? v ref ? 0.1 v ref + 0.1 ?? v ref ? 0.2 v ref + 0.2 ?0.4 v ccio ? 0.4 16 ?16 hstl - 15 class i ? v ref ? 0.1 v ref + 0.1 ?? v ref ? 0.2 v ref + 0.2 ?0.4 v ccio ? 0.4 8?8 hstl - 15 class ii ? v ref ? 0.1 v ref + 0.1 ?? v ref ? 0.2 v ref + 0.2 ?0.4 v ccio ? 0.4 16 ?16 hstl - 12 class i ?0.15 v ref ? 0.08 v ref + 0.08 v ccio + 0.15 ?0.24 v ref ? 0.15 v ref + 0.15 v ccio + 0.24 0.25 v ccio 0.75 v ccio 8?8 hstl - 12 class ii ?0.15 v ref ? 0.08 v ref + 0.08 v ccio + 0.15 ?0.24 v ref ? 0.15 v ref + 0.15 v ccio + 0.24 0.25 v ccio 0.75 v ccio 14 ?14
1?14 chapter 1: cyclone iv device datasheet operating conditions cyclone iv device handbook, volume 3 ? december 2010 altera corporation table 1?18. differential sstl i/o standard specificat ions for cyclone iv devices?preliminary i/o standard v ccio (v) v swing(dc) (v) v x(ac) (v) v swing(ac) (v) v ox(ac) (v) min typ max min max min typ max min max min typ max sstl - 2 class i, ii 2.375 2.5 2.625 0.36 v ccio v ccio /2 ? 0.2 ? v ccio /2 + 0.2 0.7 v ccio v ccio /2 ? 0.125 ? v ccio /2 + 0.125 sstl - 18 class i, ii 1.7 1.8 1.90 0.25 v ccio v ccio /2 ? 0.175 ? v ccio /2 + 0.175 0.5 v ccio v ccio /2 ? 0.125 ? v ccio /2 + 0.125 table 1?19. differential hstl i/o standard specifications for cyclone iv devices?preliminary i/o standard v ccio (v) v dif(dc) (v) v x(ac) (v) v cm(dc) (v) v dif(ac) (v) min typ max min max min typ max min typ max mi n max hstl - 18 class i, ii 1.71 1.8 1.89 0.2 ? 0.85 ? 0.95 0.85 ? 0.95 0.4 ? hstl - 15 class i, ii 1.425 1.5 1.575 0.2 ? 0.71 ? 0.79 0.71 ? 0.79 0.4 ? hstl - 12 class i, ii 1.14 1.2 1.26 0.16 v ccio 0.48 * v ccio ? 0.52 * v ccio 0.48 * v ccio ? 0.52 * v ccio 0.3 0.48 * v ccio table 1?20. differential i/o standard specifications for cyclone iv devices (note 1) (part 1 of 2)?preliminary i/o standard v ccio (v) v id (mv) v icm (v) (2) v od (mv) (3) v os (v) (3) min typ max min max min condition max min typ max min typ max lvpecl (row i/os) (6) 2.375 2.5 2.625 100 ? 0.05 d max ??? 500 mbps 1.80 ?????? 0.55 500 mbps ? d max ? 700 mbps 1.80 1.05 d max > 700 mbps 1.55 lvpecl (column i/os) (6) 2.375 2.5 2.625 100 ? 0.05 d max ?? 500 mbps 1.80 ?????? 0.55 500 mbps ? d max ?? 700 mbps 1.80 1.05 d max > 700 mbps 1.55 lvds (row i/os) 2.375 2.5 2.625 100 ? 0.05 d max ?? 500 mbps 1.80 247 ? 600 1.125 1.25 1.375 0.55 500 mbps ? d max ? 700 mbps 1.80 1.05 d max > 700 mbps 1.55 lvds (column i/os) 2.375 2.5 2.625 100 ? 0.05 d max ? 500 mbps 1.80 247 ? 600 1.125 1.25 1.375 0.55 500 mbps ? d max ? 700 mbps 1.80 1.05 d max > 700 mbps 1.55 blvds (row i/os) (4) 2.375 2.5 2.625 100 ? ? ? ? ? ? ? ? ? ? blvds (column i/os) (4) 2.375 2.5 2.625 100 ? ? ? ? ? ? ? ? ? ?
chapter 1: cyclone iv device datasheet 1?15 power consumption ? december 2010 altera corporation cyclone iv device handbook, volume 3 power consumption use the following methods to estimate power for a design: the excel-based epe the quartus ? ii powerplay power analyzer feature the interactive excel-based epe is used prior to designing the device to get a magnitude estimate of the device power. the quartus ii powerplay power analyzer provides better quality estimates based on the specifics of the design after place-and-route is complete. the powerplay power analyzer can apply a combination of user-entered, simulation-derived, and estimated signal activities that, combined with detailed circuit models, can yield very accurate power estimates. f for more information about power estimation tools, refer to the early power estimator user guide and the powerplay power analysis chapter in volume 3 of the quartus ii handboo k. mini - lvds (row i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 300 ? 600 1.0 1.2 1.4 mini - lvds (column i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 300 ? 600 1.0 1.2 1.4 rsds ? (row i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 100 200 600 0.5 1.2 1.5 rsds (column i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 100 200 600 0.5 1.2 1.5 ppds (row i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 100 200 600 0.5 1.2 1.4 ppds (column i/os) (5) 2.375 2.5 2.625 ? ? ? ? ? 100 200 600 0.5 1.2 1.4 notes to table 1?20 : (1) for an explanation of terms used in table 1?20 , refer to ?glossary? on page 1?38 . (2) v in range: 0 v ? v in ? 1.85 v. (3) r l range: 90 ? r l ? 110 ? . (4) there are no fixed v in , v od , and v os specifications for blvds. they depend on the system topology. (5) the mini - lvds, rsds, and ppds standards are only supported at the output pins. (6) the lvpecl i/o standard is only supported on dedicated clock input pins. this i/o standard is not supported for output pins. table 1?20. differential i/o standard specifications for cyclone iv devices (note 1) (part 2 of 2)?preliminary i/o standard v ccio (v) v id (mv) v icm (v) (2) v od (mv) (3) v os (v) (3) min typ max min max min condition max min typ max min typ max
1?16 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation switching characteristics this section provides performance characteristics of cyclone iv core and periphery blocks for commercial grade devices. these characteristics can be designated as preliminary or final. preliminary characteristics are created using simulation results, process data, and other known parameters. the upper-right hand corner of these tables show the designation as ?preliminary?. final numbers are based on actual silicon characterization and testing. the numbers reflect the actual performance of the device under worst-case silicon process, voltage, and junction temperature conditions. there are no designations on finalized tables. transceiver performance specifications ta b l e 1 ?2 1 lists the cyclone iv gx transceiver specifications. table 1?21. transceiver specification for cyclone iv gx devices (part 1 of 4)?preliminary symbol/ description conditions c6 c7 c8 unit min typ max min typ max min typ max reference clock supported i/o standards 1.2 v pcml, 1.5 v pcml, 3.3 v pcml, differential lvpecl, lvds, hcsl input frequency from refclk input pins ? 50 ? 156.25 50 ? 156.25 50 ? 156.25 mhz spread-spectrum modulating clock frequency physical interface for pci express (pipe) mode 30 ? 33 30 ? 33 30 ? 33 khz spread-spectrum downspread pipe mode ? 0 to ? 0.5% ?? 0 to ? 0.5% ?? 0 to ? 0.5% ?? r ref ?? 2000 1% ?? 2000 1% ?? 2000 1% ? ? transceiver clock cal_blk_clk clock frequency ? 10 ? 125 10 ? 125 10 ? 125 mhz fixedclk clock frequency pcie receiver detect ? 125 ? ? 125 ? ? 125 ? mhz reconfig_clk clock frequency dynamic reconfiguration clock frequency 2.5/ 37.5 (1) ?50 2.5/ 37.5 (1) ?50 2.5/ 37.5 (1) ?50 mhz delta time between reconfig_clk ???2??2??2ms
chapter 1: cyclone iv device datasheet 1?17 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 transceiver block minimum power-down pulse width ??1??1??1?s receiver supported i/o standards 1.4 v pcml, 1.5 v pcml, 2.5 v pcml, lvpecl, lvds data rate (f324 and smaller package) ? 600 ? 2500 600 ? 2500 600 ? 2500 mbps data rate (f484 and larger package) ? 600 ? 3125 600 ? 3125 600 ? 2500 mbps absolute v max for a receiver pin (2) ? ? ? 1.6 ? ? 1.6 ? ? 1.6 v operational v max for a receiver pin ? ? ? 1.5 ? ? 1.5 ? ? 1.5 v absolute v min for a receiver pin ? ? 0.4 ? ? ? 0.4 ? ? ? 0.4 ? ? v peak-to-peak differential input voltage v id (diff p-p) v icm = 0.82 v setting, data rate = 600 mbps to 3.125 gbps 0.1 ? 2.7 0.1 ? 2.7 0.1 ? 2.7 v v icm v icm = 0.82 v setting ? 820 ? ? 820 ? ? 820 ? mv differential on-chip termination resistors 100 ?? setting ? 100 ? ? 100 ? ? 100 ? ? 150 ?? setting ? 150 ? ? 150 ? ? 150 ? ? differential and common mode return loss pipe, serial rapid i/o sr, sata, cpri lv, sdi, xaui compliant ? programmable ppm detector (3) ? 62.5, 100, 125, 200, 250, 300 ppm clock data recovery (cdr) ppm tolerance (without spread-spectrum clocking enabled) ??? 300 (4) , 350 (5) , (6) ?? 300 (4) , 350 (5) , (6) ?? 300 (4) , 350 (5) , (6) ppm cdr ppm tolerance (with spread-spectrum clocking enabled) ??? 350 to ?5350 (6) , (7) , (8) ?? 350 to ?5350 (6) , (7) , (8) ?? 350 to ?5350 (6) , (7) , (8) ppm run length ? ? 80 ? ? 80 ? ? 80 ? ui table 1?21. transceiver specification for cyclone iv gx devices (part 2 of 4)?preliminary symbol/ description conditions c6 c7 c8 unit min typ max min typ max min typ max
1?18 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation programmable equalization no equalization ? ? 1.5 ? ? 1.5 ? ? 1.5 db medium low ? ? 4.5 ? ? 4.5 ? ? 4.5 db medium high ? ? 5.5 ? ? 5.5 ? ? 5.5 db high ?? 7 ?? 7 ?? 7 db signal detect/loss threshold pipe mode 65 ? 175 65 ? 175 65 ? 175 mv t ltr (9) ???75??75??75s t ltr-ltd_manual (10) ? 15? ? 15? ?15? ? s t ltd (11) ? 0 100 4000 0 100 4000 0 100 4000 ns t ltd_manual (12) ? ? ? 4000 ? ? 4000 ? ? 4000 ns t ltd_auto (13) ? ? ? 4000 ? ? 4000 ? ? 4000 ns receiver buffer and cdr offset cancellation time (per channel) ? ? ? 17000 ? ? 17000 ? ? 17000 reconfig _clk cycles programmable dc gain dc gain setting = 0 ?0 ? ?0 ??0 ? db dc gain setting = 1 ?3 ? ?3 ??3 ? db dc gain setting = 2 ?6 ? ?6 ??6 ? db transmitter supported i/o standards 1.5 v pcml data rate (f324 and smaller package) ? 600 ? 2500 600 ? 2500 600 ? 2500 mbps data rate (f484 and larger package) ? 600 ? 3125 600 ? 3125 600 ? 2500 mbps v ocm 0.65 v setting ? 650 ? ? 650 ? ? 650 ? mv differential on-chip termination resistors 100 ?? setting ? 100 ? ? 100 ? ? 100 ? ? 150 ?? setting ? 150 ? ? 150 ? ? 150 ? ? differential and common mode return loss pipe, cpri lv, serial rapid i/o sr, sdi, xaui, sata compliant ? rise time ? 50 ? 200 50 ? 200 50 ? 200 ps fall time ? 50 ? 200 50 ? 200 50 ? 200 ps intra-differential pair skew ???15??15??15ps intra-transceiver block skew ? ? ? 120 ? ? 120 ? ? 120 ps table 1?21. transceiver specification for cyclone iv gx devices (part 3 of 4)?preliminary symbol/ description conditions c6 c7 c8 unit min typ max min typ max min typ max
chapter 1: cyclone iv device datasheet 1?19 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 pld-transceiver interface interface speed (f324 and smaller package) ? 25 ? 125 25 ? 125 25 ? 125 mhz interface speed (f484 and larger package) ? 25 ? 156.25 25 ? 156.25 25 ? 156.25 mhz digital reset pulse width ? minimum is 2 parallel clock cycles notes to table 1?21 : (1) the minimum reconfig_clk frequency is 2.5 mhz if the transceiver channel is configured in transmitter only mode. the minimum reconfig_clk frequency is 37.5 mhz if the transceiver channel is configured in receiver only or receiver and transmitter mode. (2) the device cannot tolerate prolonged operation at this absolute maximum. (3) the rate matcher supports only up to 300 parts per million (ppm). (4) supported for the n148, f169, and f324 device packages only. (5) supported for the f484, f672, and f896 device packages only. pending device characterization. (6) to support cdr ppm tolerance greater than 300 ppm, you have to implement ppm detector in user logic and configure cdr to ma nual lock mode. (7) supported for the ep4cgx30 (f484 package only), ep4cgx50, and ep4cgx75 devices only. (8) this specification is only valid for sata protocol implementation in basic mode. pending device characterization. (9) time taken until pll_locked goes high after pll_powerdown deasserts. (10) time that the cdr must be kept in lock-to-reference mode after rx_analogreset deasserts and before rx_locktodata is asserted in manual mode. (11) time taken to recover valid data after the rx_locktodata signal is asserted in manual mode ( figure 1?2 ), or after rx_freqlocked signal goes high in automatic mode ( figure 1?3 ). (12) time taken to recover valid data after the rx_locktodata signal is asserted in manual mode. (13) time taken to recover valid data after the rx_freqlocked signal goes high in automatic mode. table 1?21. transceiver specification for cyclone iv gx devices (part 4 of 4)?preliminary symbol/ description conditions c6 c7 c8 unit min typ max min typ max min typ max
1?20 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation figure 1?2 shows the lock time parameters in manual mode. 1 ltd = lock-to-data. ltr = lock-to-reference. figure 1?3 shows the lock time parameters in automatic mode. figure 1?4 shows the differential receiver input waveform. figure 1?2. lock time parameters for manual mode rx _ analogreset rx _ digitalreset reset signals output status signals rx _ locktorefclk 2 3 4 cdr control signals rx _ locktodata 3 busy 1 two parallel clock cycles ltd_manual (2) t ltr_ltd_manual (1) t figure 1?3. lock time parameters for automatic mode reset signals rx _ analogreset 2 output status signals rx _ freqlocked 3 rx _ digitalreset 4 busy 1 two parallel clock cycles ltd_auto (1) t
chapter 1: cyclone iv device datasheet 1?21 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 figure 1?5 shows the transmitter output waveform. ta b l e 1 ?2 2 lists the typical v od for tx term that equals 100 ? . figure 1?4. receiver input waveform single-ended waveform differential waveform v id (diff peak-peak) = 2 x v id (single-ended) positive channel (p) negative channel (n) gro u nd v id v id v id p ? n = 0 v v cm figure 1?5. transmitter output waveform?preliminary single-ended waveform differential waveform v od (diff peak-peak) = 2 x v od (single-ended) positive channel (p) negative channel (n) gro u nd v od v od v od p ? n = 0 v v cm table 1?22. typical v od setting, tx term = 100 ? ?preliminary symbol v od setting (mv) 1234 (1) 56 v od typical (mv) 400 600 800 900 1000 1200 note to table 1?22 : (1) this setting is required for compliance with the pcie protocol.
1?22 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation ta b l e 1 ?2 3 lists the cyclone iv gx transceiver block ac specifications. table 1?23. transceiver block ac specification for cyclone iv gx devices (note 1) , (2) ?preliminary symbol/ description conditions c6 c7, i7 c8 unit min typ max min typ max min typ max pcie transmit jitter generation (3) total jitter at 2.5 gbps (gen1) compliance pattern ? ? 0.25 ? ? 0.25 ? ? 0.25 ui pcie receiver jitter tolerance (3) total jitter at 2.5 gbps (gen1) compliance pattern > 0.6 > 0.6 > 0.6 ui gige transmit jitter generation (4) deterministic jitter (peak-to-peak) pattern = crpat ? ? 0.14 ? ? 0.14 ? ? 0.14 ui total jitter (peak-to-peak) pattern = crpat ? ? 0.279 ? ? 0.279 ? ? 0.279 ui gige receiver jitter tolerance (4) deterministic jitter tolerance (peak-to-peak) pattern = cjpat > 0.4 > 0.4 > 0.4 ui combined deterministic and random jitter tolerance (peak-to-peak) pattern = cjpat > 0.66 > 0.66 > 0.66 ui notes to table 1?23 : (1) dedicated refclk pins were used to drive the input reference clocks. (2) the jitter numbers specified are valid for the stated conditions only. (3) the jitter numbers for pipe are compliant to the pcie base specification 2.0. (4) the jitter numbers for gige are compliant to the ieee802.3-2002 specification.
chapter 1: cyclone iv device datasheet 1?23 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 core performance specifications the following sections describe the clock tree specifications, plls, embedded multiplier, memory block, and configuration specifications for cyclone iv devices. clock tree specifications ta b l e 1 ?2 4 lists the clock tree specifications for cyclone iv devices. table 1?24. clock tree performance for cyclone iv devices ?preliminary device performance unit c6 c7 c8 c8l (1) c9l (1) i7 i8l (1) a7 ep4ce6 500 437.5 402 362 265 437.5 362 402 mhz ep4ce10 500 437.5 402 362 265 437.5 362 402 mhz ep4ce15 500 437.5 402 362 265 437.5 362 402 mhz ep4ce22 500 437.5 402 362 265 437.5 362 402 mhz ep4ce30 500 437.5 402 362 265 437.5 362 402 mhz ep4ce40 500 437.5 402 362 265 437.5 362 402 mhz ep4ce55 500 437.5 402 362 265 437.5 362 ? mhz ep4ce75 500 437.5 402 362 265 437.5 362 ? mhz ep4ce115 ? 437.5 402 362 265 437.5 362 ? mhz ep4cgx15 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx22 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx30 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx50 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx75 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx110 500 437.5 402 ? ? 437.5 ? ? mhz ep4cgx150 500 437.5 402 ? ? 437.5 ? ? mhz note to table 1?24 : (1) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades.
1?24 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation pll specifications ta b l e 1 ?2 5 lists the pll specifications for cyclone iv devices when operating in the commercial junction temperature range (0c to 85c), the industrial junction temperature range (?40c to 100c), and the automotive junction temperature range (?40c to 125c). for more information about the pll block, refer to ?glossary? on page 1?38 . table 1?25. pll specifications for cyclone iv devices (note 1) , (2) (part 1 of 2)?preliminary symbol parameter min typ max unit f in (3) input clock frequency (?6, ?7, ?8 speed grades) 5 ? 472.5 mhz input clock frequency (?8l speed grade) 5 ? 362 mhz input clock frequency (?9l speed grade) 5 ? 265 mhz f inpfd pfd input frequency 5 ? 325 mhz f vco (4) pll internal vco operating range 600 ? 1300 mhz f induty input clock duty cycle 40 ? 60 % t injitter_ccj (5) input clock cycle-to-cycle jitter f ref ? 100 mhz ? ? 0.15 ui f ref < 100 mhz ? ? 750 ps f out_ext (external clock output) (3) pll output frequency ? ? 472.5 mhz f out (to global clock) pll output frequency (?6 speed grade) ? ? 472.5 mhz pll output frequency (?7 speed grade) ? ? 450 mhz pll output frequency (?8 speed grade) ? ? 402.5 mhz pll output frequency (?8l speed grade) ? ? 362 mhz pll output frequency (?9l speed grade) ? ? 265 mhz t outduty duty cycle for external clock output (when set to 50%) 45 50 55 % t lock time required to lock from end of device configuration ? ? 1 ms t dlock time required to lock dynamically (after switchover, reconfiguring any non-post-scale counters/delays or areset is deasserted) ?? 1 ms t outjitter_period_dedclk (6) dedicated clock output period jitter f out ? 100 mhz ??300 ps f out < 100 mhz ? ? 30 mui t outjitter_ccj_dedclk (6) dedicated clock output cycle-to-cycle jitter f out ? 100 mhz ??300 ps f out < 100 mhz ? ? 30 mui t outjitter_period_io (6) regular i/o period jitter f out ? 100 mhz ??650 ps f out < 100 mhz ? ? 75 mui t outjitter_ccj_io (6) regular i/o cycle-to-cycle jitter f out ? 100 mhz ??650 ps f out < 100 mhz ? ? 75 mui t pll_pserr accuracy of pll phase shift ? ? 50 ps t areset minimum pulse width on areset signal. 10 ? ? ns
chapter 1: cyclone iv device datasheet 1?25 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 embedded multiplier specifications ta b l e 1 ?2 6 lists the embedded multiplier specifications for cyclone iv devices. memory block specifications ta b l e 1 ?2 7 lists the m9k memory block specifications for cyclone iv devices. t configpll time required to reconfigure scan chains for plls ? 3.5 (7) ? scanclk cycles f scanclk scanclk frequency ? ? 100 mhz t casc_outjitter_period_dedclk (8) , (9) period jitter for dedicated clock output in cascaded plls (f out ? 100 mhz) ??425 ps period jitter for dedicated clock output in cascaded plls (f out ? 100 mhz) ??42.5mui notes to table 1?25 : (1) this table is applicable for general purpose plls and multipurpose plls. (2) you must connect v ccd_pll to v ccint through the decoupling capacitor and ferrite bead. (3) this parameter is limited in the quartus ii software by the i/o maximum frequency. the maximum i/o frequency is different for each i/o standard. (4) the v co frequency reported by the quartus ii software in the pll summary section of the compilation report takes into consideration the v co post-scale counter k value. therefore, if the counter k has a value of 2, the frequency reported can be lower than the f vco specification. (5) a high input jitter directly affects the pll output jitter. to have low pll output clock jitter, you must provide a clean cl ock source that is less than 200 ps. (6) peak-to-peak jitter with a probability level of 10 ?12 (14 sigma, 99.99999999974404% confidence level). the output jitter specification applies to the intrinsic jitter of the pll when an input jitter of 30 ps is applied. (7) with 100-mhz scanclk frequency. (8) the cascaded plls specification is applicable only with the following conditions: upstream pll?0.59 mhz ? upstream pll bandwidth < 1 mhz downstream pll?downstream pll bandwidth > 2 mhz (9) pll cascading is not supported for transceiver applications. table 1?25. pll specifications for cyclone iv devices (note 1) , (2) (part 2 of 2)?preliminary symbol parameter min typ max unit table 1?26. embedded multiplier specifications for cyclone iv devices ?preliminary mode resources used performance unit number of multipliers c6 c7, i7, a7 c8 c8l, i8l c9l 9 9-bit multiplier 1 340 300 260 240 175 mhz 18 18-bit multiplier 1 287 250 200 185 135 mhz table 1?27. memory block performance specifications for cyclone iv devices ?preliminary memory mode resources used performance unit les m9k memory c6 c7, i7, a7 c8 c8l, i8l c9l m9k block fifo 256 36 47 1 315 274 238 200 157 mhz single-port 256 36 0 1 315 274 238 200 157 mhz simple dual-port 256 36 clk 0 1 315 274 238 200 157 mhz true dual port 512 18 single clk 0 1 315 274 238 200 157 mhz
1?26 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation configuration and jtag specifications ta b l e 1 ?2 8 lists the configuration mode specifications for cyclone iv devices. ta b l e 1 ?2 9 lists the active configuration mode specifications for cyclone iv devices. ta b l e 1 ?3 0 lists the jtag timing parameters and values for cyclone iv devices. table 1?28. passive configuration mode specifications for cyclone iv devices (note 1) programming mode v ccint voltage level (v) dclk f max unit passive serial (ps) 1.0 (3) 66 mhz 1.2 133 mhz fast passive parallel (fpp) (2) 1.0 (3) 66 mhz 1.2 (4) 100 mhz notes to table 1?28 : (1) for more information about ps and fpp configuration timing parameters, refer to the configuration and remote system upgrades in cyclone iv devices chapter. (2) fpp configuration mode supports all cyclone iv e devices (except for e144 package devices) and ep4cgx50, ep4cgx75, ep4cgx110, and ep4cgx150 only. (3) v ccint = 1.0 v is only supported for cyclone iv e 1.0 v core voltage devices. (4) cyclone iv e devices support 1.2 v v ccint . cyclone iv e 1.2 v core voltage devices support 133 mhz dclk f max for ep4ce6, ep4ce10, ep4ce15, ep4ce22, ep4ce30, and ep4ce40 only. table 1?29. active configuration mode specifications for cyclone iv devices ?preliminary programming mode dclk range unit active parallel (ap) (1) 20 to 40 mhz active serial (as) 20 to 40 mhz note to table 1?29 : (1) ap configuration mode is only supported for cyclone iv e devices. table 1?30. jtag timing parameters for cyclone iv devices (note 1) (part 1 of 2)?preliminary symbol parameter min max unit t jcp tck clock period 40 ? ns t jch tck clock high time 19 ? ns t jcl tck clock low time 19 ? ns t jpsu_tdi jtag port setup time for tdi 1 ? ns t jpsu_tms jtag port setup time for tms 3 ? ns t jph jtag port hold time 10 ? ns t jpco jtag port clock to output (2) , (3) ?15ns t jpzx jtag port high impedance to valid output (2) , (3) ?15ns t jpxz jtag port valid output to high impedance (2) , (3) ?15ns t jssu capture register setup time 5 ? ns t jsh capture register hold time 10 ? ns t jsco update register clock to output ? 25 ns t jszx update register high impedance to valid output ? 25 ns
chapter 1: cyclone iv device datasheet 1?27 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 periphery performance this section describes periphery performance, including high-speed i/o and external memory interface. i/o performance supports several system interfaces, such as the high-speed i/o interface, external memory interface, and the pci/pci-x bus interface. i/os using the sstl-18 class i termination standard can achieve up to the stated ddr2 sdram interfacing speeds. i/os using general-purpose i/o standards such as 3.3-, 3.0-, 2.5-, 1.8-, or 1.5-lvttl/lvcmos are capable of a typical 200 mhz interfacing frequency with a 10 pf load. f for more information about the supported maximum clock rate, device and pin planning, ip implementation, and device termination, refer to section iii: system performance specifications of the external memory interfaces handbook . 1 actual achievable frequency depends on design- and system-specific factors. perform hspice/ibis simulations based on your specific design and system setup to determine the maximum achievable frequency in your system. high-speed i/o specifications ta b l e 1 ?3 1 through ta b l e 1 ?3 6 list the high-speed i/o timing for cyclone iv devices. for definitions of high-speed timing specifications, refer to ?glossary? on page 1?38 . t jsxz update register valid output to high impedance ? 25 ns notes to table 1?30 : (1) for more information about jtag waveforms, refer to ?jtag waveform? in ?glossary? on page 1?38 . (2) the specification is shown for 3.3-, 3.0-, and 2.5-v lvttl/lvcmos operation of jtag pins. for 1.8-v lvttl/lvcmos and 1.5-v lvcmos, the output time specification is 16 ns. (3) for ep4cgx22, ep4cgx30 (f324 and smaller package), ep4cgx110, and ep4cgx150 devices, the output time specification for 3.3-, 3.0-, and 2.5-v lvttl/lvcmos operation of jtag pins is 16 ns. for 1.8-v lvttl/lvcmos and 1.5-v lvcmos, the output time specification is 18 ns. table 1?30. jtag timing parameters for cyclone iv devices (note 1) (part 2 of 2)?preliminary symbol parameter min max unit table 1?31. rsds transmitter timing specifications for cyclone iv devices (note 1) , (2) , (4) (part 1 of 2)?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max min typ max f hsclk (input clock frequency) 10 10 ? 180 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 8 10 ? 180 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 7 10 ? 180 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 4 10 ? 180 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 2 10 ? 180 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 1 10 ? 360 10 ? 311 10 ? 311 10 ? 311 10 ? 265 mhz
1?28 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation device operation in mbps 10 100 ? 360 100 ? 311 100 ? 311 100 ? 311 100 ? 265 mbps 8 80 ? 360 80 ? 311 80 ? 311 80 ? 311 80 ? 265 mbps 7 70 ? 360 70 ? 311 70 ? 311 70 ? 311 70 ? 265 mbps 4 40 ? 360 40 ? 311 40 ? 311 40 ? 311 40 ? 265 mbps 2 20 ? 360 20 ? 311 20 ? 311 20 ? 311 20 ? 265 mbps 1 10 ? 360 10 ? 311 10 ? 311 10 ? 311 10 ? 265 mbps t duty ? 45 ? 55 45 ? 55 45 ? 55 45 ? 55 45 ? 55 % transmitter channel-to- channel skew (tccs) ? ? ? 200 ? ? 200 ? ? 200 ? ? 200 ? ? 200 ps output jitter (peak to peak) ? ? ? 500 ? ? 500 ? ? 550 ? ? 600 ? ? 700 ps t rise 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t fall 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t lock (3) ? ?? 1 ?? 1 ? ? 1 ?? 1 ?? 1 ms notes to table 1?31 : (1) applicable for true rsds and emulated rsds_e_3r transmitter. (2) cyclone iv e devices?true rsds transmitter is only supported at the output pin of row i/o banks 1, 2, 5, and 6. emulated rsds transmitter is supported at the output pin of all i/o banks. cyclone iv gx devices?true rsds transmitter is only supported at the output pin of row i/o banks 5 and 6. emulated rsds transmitt er is supported at the output pin of i/o banks 3, 4, 5, 6, 7, 8, and 9. (3) t lock is the time required for the pll to lock from the end-of-device configuration. (4) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades. table 1?31. rsds transmitter timing specifications for cyclone iv devices (note 1) , (2) , (4) (part 2 of 2)?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max min typ max table 1?32. emulated rsds_e_1r transmitter timing specifications for cyclone iv devices (note 1), (3) (part 1 of 2) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max min typ max f hsclk (input clock frequency) 10 10 ? 85 10 ? 85 10 ? 85 10 ? 85 10 ? 72.5 mhz 8 10 ? 85 10 ? 85 10 ? 85 10 ? 85 10 ? 72.5 mhz 7 10 ? 85 10 ? 85 10 ? 85 10 ? 85 10 ? 72.5 mhz 4 10 ? 85 10 ? 85 10 ? 85 10 ? 85 10 ? 72.5 mhz 2 10 ? 85 10 ? 85 10 ? 85 10 ? 85 10 ? 72.5 mhz 1 10 ? 170 10 ? 170 10 ? 170 10 ? 170 10 ? 145 mhz
chapter 1: cyclone iv device datasheet 1?29 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 device operation in mbps 10 100 ? 170 100 ? 170 100 ? 170 100 ? 170 100 ? 145 mbps 8 80 ? 170 80 ? 170 80 ? 170 80 ? 170 80 ? 145 mbps 7 70 ? 170 70 ? 170 70 ? 170 70 ? 170 70 ? 145 mbps 4 40 ? 170 40 ? 170 40 ? 170 40 ? 170 40 ? 145 mbps 2 20 ? 170 20 ? 170 20 ? 170 20 ? 170 20 ? 145 mbps 1 10 ? 170 10 ? 170 10 ? 170 10 ? 170 10 ? 145 mbps t duty ? 45 ? 55 45 ? 55 45 ? 55 45 ? 55 45 ? 55 % tccs ? ? ? 200 ? ? 200 ? ? 200 ? ? 200 ? ? 200 ps output jitter (peak to peak) ? ? ? 500 ? ? 500 ? ? 550 ? ? 600 ? ? 700 ps t rise 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t fall 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t lock (2) ? ?? 1 ?? 1 ?? 1 ?? 1 ?? 1 ms notes to table 1?32 : (1) emulated rsds_e_1r transmitter is supported at the output pin of all i/o banks of cyclone iv e devices and i/o banks 3, 4, 5, 6, 7, 8, and 9 of cyclone iv gx devices. (2) t lock is the time required for the pll to lock from the end-of-device configuration. (3) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades. table 1?32. emulated rsds_e_1r transmitter timing specifications for cyclone iv devices (note 1), (3) (part 2 of 2) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max min typ max table 1?33. mini-lvds transmitter timing specifications for cyclone iv devices (note 1) , (2) , (4) (part 1 of 2)? preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max mi n typ max f hsclk (input clock frequency) 10 10 ? 200 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 8 10 ? 200 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 7 10 ? 200 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 4 10 ? 200 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 2 10 ? 200 10 ? 155.5 10 ? 155.5 10 ? 155.5 10 ? 132.5 mhz 1 10 ? 400 10 ? 311 10 ? 311 10 ? 311 10 ? 265 mhz device operation in mbps 10 100 ? 400 100 ? 311 100 ? 311 100 ? 311 100 ? 265 mbps 8 80 ? 400 80 ? 311 80 ? 311 80 ? 311 80 ? 265 mbps 7 70 ? 400 70 ? 311 70 ? 311 70 ? 311 70 ? 265 mbps 4 40 ? 400 40 ? 311 40 ? 311 40 ? 311 40 ? 265 mbps 2 20 ? 400 20 ? 311 20 ? 311 20 ? 311 20 ? 265 mbps 1 10 ? 400 10 ? 311 10 ? 311 10 ? 311 10 ? 265 mbps
1?30 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation t duty ? 45 ? 55 45 ? 55 45 ? 55 45 ? 55 45 ? 55 % tccs ? ? ? 200 ? ? 200 ? ? 200 ? ? 200 ? ? 200 ps output jitter (peak to peak) ? ? ? 500 ? ? 500 ? ? 550 ? ? 600 ? ? 700 ps t rise 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t fall 20 ? 80%, c load = 5 pf ? 500 ? ? 500 ? ? 500 ? ? 500 ? ? 500 ? ps t lock (3) ? ?? 1 ?? 1 ?? 1 ?? 1 ?? 1 ms notes to table 1?33 : (1) applicable for true and emulated mini-lvds transmitter. (2) cyclone iv e?true mini-lvds transmitter is only supported at the output pin of row i/o banks 1, 2, 5, and 6. emulated mini-lvd s transmitter is supported at the output pin of all i/o banks. cyclone iv gx?true mini-lvds transmitter is only supported at the output pin of row i/o banks 5 and 6. emulated mini-lvds transmi tter is supported at the output pin of i/o banks 3, 4, 5, 6, 7, 8, and 9. (3) t lock is the time required for the pll to lock from the end-of-device configuration. (4) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades. table 1?33. mini-lvds transmitter timing specifications for cyclone iv devices (note 1) , (2) , (4) (part 2 of 2)? preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min typ max min typ max min typ max min typ max mi n typ max table 1?34. true lvds transmitter timing specifications for cyclone iv devices (note 1) , (3) (part 1 of 2) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min max min max min max min max min max f hsclk (input clock frequency) 10 10 420 10 370 10 320 10 320 10 250 mhz 8 10 420 10 370 10 320 10 320 10 250 mhz 7 10 420 10 370 10 320 10 320 10 250 mhz 4 10 420 10 370 10 320 10 320 10 250 mhz 2 10 420 10 370 10 320 10 320 10 250 mhz 1 10 420 10 402.5 10 402.5 10 362 10 265 mhz hsiodr 10 100 840 100 740 100 640 100 640 100 500 mbps 8 80 840 80 740 80 640 80 640 80 500 mbps 7 70 840 70 740 70 640 70 640 70 500 mbps 4 40 840 40 740 40 640 40 640 40 500 mbps 2 20 840 20 740 20 640 20 640 20 500 mbps 1 10 420 10 402.5 10 402.5 10 362 10 265 mbps t duty ?45554555455545554555% tccs ? ? 200 ? 200 ? 200 ? 200 ? 200 ps output jitter (peak to peak) ? ? 500 ? 500 ? 550 ? 600 ? 700 ps
chapter 1: cyclone iv device datasheet 1?31 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 t lock (2) ??1?1?1?1?1ms notes to table 1?34 : (1) cyclone iv e?true lvds transmitter is only supported at the output pin of row i/o banks 1, 2, 5, and 6. cyclone iv gx?true lvds transmitter is only supported at the output pin of row i/o banks 5 and 6. (2) t lock is the time required for the pll to lock from the end-of-device configuration. (3) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades. table 1?34. true lvds transmitter timing specifications for cyclone iv devices (note 1) , (3) (part 2 of 2) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min max min max min max min max min max table 1?35. emulated lvds transmitter timing specifications for cyclone iv devices (note 1) , (3) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min max min max min max min max min max f hsclk (input clock frequency) 10 10 320 10 320 10 275 10 275 10 250 mhz 8 10 320 10 320 10 275 10 275 10 250 mhz 7 10 320 10 320 10 275 10 275 10 250 mhz 4 10 320 10 320 10 275 10 275 10 250 mhz 2 10 320 10 320 10 275 10 275 10 250 mhz 1 10 402.5 10 402.5 10 402.5 10 362 10 265 mhz hsiodr 10 100 640 100 640 100 550 100 550 100 500 mbps 8 80 640 80 640 80 550 80 550 80 500 mbps 7 70 640 70 640 70 550 70 550 70 500 mbps 4 40 640 40 640 40 550 40 550 40 500 mbps 2 20 640 20 640 20 550 20 550 20 500 mbps 1 10 402.5 10 402.5 10 402.5 10 362 10 265 mbps t duty ?455545554555455545 55% tccs ? ? 200 ? 200 ? 200 ? 200 ? 200 ps output jitter (peak to peak) ? ? 500 ? 500 ? 550 ? 600 ? 700 ps t lock (2) ??1?1?1?1? 1ms notes to table 1?35 : (1) cyclone iv e?emulated lvds transmitter is supported at the output pin of all i/o banks. cyclone iv gx?emulated lvds transmitter is supported at the output pin of i/o banks 3, 4, 5, 6, 7, 8, and 9. (2) t lock is the time required for the pll to lock from the end-of-device configuration. (3) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades.
1?32 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation table 1?36. lvds receiver timing specifications for cyclone iv devices (note 1) , (3) ?preliminary symbol modes c6 c7, i7 c8, a7 c8l, i8l c9l unit min max min max min max min max min max f hsclk (input clock frequency) 10 10 437.5 10 370 10 320 10 320 10 250 mhz 8 10 437.5 10 370 10 320 10 320 10 250 mhz 7 10 437.5 10 370 10 320 10 320 10 250 mhz 4 10 437.5 10 370 10 320 10 320 10 250 mhz 2 10 437.5 10 370 10 320 10 320 10 250 mhz 1 10 437.5 10 402.5 10 402.5 10 362 10 265 mhz hsiodr 10 100 875 100 740 100 640 100 640 100 500 mbps 8 80 875 80 740 80 640 80 640 80 500 mbps 7 70 875 70 740 70 640 70 640 70 500 mbps 4 40 875 40 740 40 640 40 640 40 500 mbps 2 20 875 20 740 20 640 20 640 20 500 mbps 1 10 437.5 10 402.5 10 402.5 10 362 10 265 mbps sw ? ? 400 ? 400 ? 400 ? 550 ? 640 ps input jitter tolerance ? ? 500 ? 500 ? 550 ? 600 ? 700 ps t lock (2) ??1?1?1?1?1ms notes to table 1?36 : (1) cyclone iv e?lvds receiver is supported at all i/o banks. cyclone iv gx?lvds receiver is supported at i/o banks 3, 4, 5, 6, 7, 8, and 9. (2) t lock is the time required for the pll to lock from the end-of-device configuration. (3) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades.
chapter 1: cyclone iv device datasheet 1?33 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 external memory interface specifications the external memory interfaces for cyclone iv devices are auto-calibrating and easy to implement. f for more information about the supported maximum clock rate, device and pin planning, ip implementation, and device termination, refer to section iii: system performance specifications of the external memory interface handbook . ta b l e 1 ?3 7 lists the memory output clock jitter specifications for cyclone iv devices. duty cycle distortion specifications ta b l e 1 ?3 8 lists the worst case duty cycle distortion for cyclone iv devices. oct calibration timing specification ta b l e 1 ?3 9 lists the duration of calibration for series oct with calibration at device power-up for cyclone iv devices. table 1?37. memory output clock jitter specifications for cyclone iv devices (note 1) , (2) ?preliminary parameter symbol min max unit clock period jitter t jit(per) ?125 125 ps cycle-to-cycle period jitter t jit(cc) ?200 200 ps duty cycle jitter t jit(duty) ?150 150 ps notes to table 1?37 : (1) memory output clock jitter measurements are for 200 consecutive clock cycles, as specified in the jedec ddr2 standard. (2) the clock jitter specification applies to memory output clock pins generated using ddio circuits clocked by a pll output routed on a global clock (gclk) network. table 1?38. duty cycle distortion on cyclone iv devices i/o pins (note 1) , (2), (3) ?preliminary symbol c6 c7, i7 c8, i8l, a7 c9l unit min max min max min max min max output duty cycle 4555455545554555 % notes to table 1?38 : (1) the duty cycle distortion specification applies to clock outputs from the plls, global clock tree, and ioe driving the dedic ated and general purpose i/o pins. (2) cyclone iv devices meet the specified duty cycle distortion at the maximum output toggle rate for each combination of i/o sta ndard and current strength. (3) cyclone iv e 1.0 v core voltage devices only support c8l, c9l, and i8l speed grades. cyclone iv e 1.2 v core voltage devices only support c6, c7, c8, i7, and a7 speed grades. cyclone iv gx devices only support c6, c7, c8, and i7 speed grades. table 1?39. timing specification for series oct with calibration at device power-up for cyclone iv devices (note 1) ?preliminary symbol description maximum units t octcal duration of series oct with calibration at device power-up 20 s note to table 1?39 : (1) oct calibration takes place after device configuration and before entering user mode.
1?34 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation ioe programmable delay ta b l e 1 ?4 0 and table 1?41 list the ioe programmable delay for cyclone iv e 1.0 v core voltage devices. table 1?40. ioe programmable delay on column pins for cyclone iv e 1.0 v core voltage devices (note 1) , (2) ?preliminary parameter paths affected number of setting min offset max offset unit fast corner slow corner c8l i8l c8l c9l i8l input delay from pin to internal cells pad to i/o dataout to core 7 0 2.054 1.924 3.387 4.017 3.411 ns input delay from pin to input register pad to i/o input register 8 0 2.010 1.875 3.341 4.252 3.367 ns delay from output register to output pin i/o output register to pad 2 0 0.641 0.631 1.111 1.377 1.124 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.971 0.931 1.684 2.298 1.684 ns notes to table 1?40 : (1) the incremental values for the settings are generally linear. for the exact values for each setting, use the latest version of the quartus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software. table 1?41. ioe programmable delay on row pins for cyclone iv e 1.0 v core voltage devices (note 1) , (2) ?preliminary parameter paths affected number of setting min offset max offset unit fast corner slow corner c8l i8l c8l c9l i8l input delay from pin to internal cells pad to i/o dataout to core 7 0 2.057 1.921 3.389 4.146 3.412 ns input delay from pin to input register pad to i/o input register 8 0 2.059 1.919 3.420 4.374 3.441 ns delay from output register to output pin i/o output register to pad 2 0 0.670 0.623 1.160 1.420 1.168 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.960 0.919 1.656 2.258 1.656 ns notes to table 1?41 : (1) the incremental values for the settings are generally linear. for the exact values for each setting, use the latest version of the quartus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software.
chapter 1: cyclone iv device datasheet 1?35 switching characteristics ? december 2010 altera corporation cyclone iv device handbook, volume 3 ta b l e 1 ?4 2 and table 1?43 list the ioe programmable delay for cyclone iv e 1.2 v core voltage devices. table 1?42. ioe programmable delay on column pins for cyclone iv e 1.2 v core voltage devices (note 1) , (2) ?preliminary parameter paths affected number of setting min offset max offset unit fast corner slow corner c6 i7 a7 c6 c7 c8 i7 a7 input delay from pin to internal cells pad to i/o dataout to core 7 0 1.314 1.211 1.211 2.177 2.340 2.433 2.388 2.508 ns input delay from pin to input register pad to i/o input register 8 0 1.307 1.203 1.203 2.19 2.387 2.540 2.430 2.545 ns delay from output register to output pin i/o output register to pad 2 0 0.437 0.402 0.402 0.747 0.820 0.880 0.834 0.873 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.693 0.665 0.665 1.200 1.379 1.532 1.393 1.441 ns notes to table 1?42 : (1) the incremental values for the settings are generally linear. for the exact values for each setting, use the latest version of the quartus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software. table 1?43. ioe programmable delay on row pins for cyclone iv e 1.2 v core voltage devices (note 1) , (2) ?preliminary parameter paths affected number of setting min offset max offset unit fast corner slow corner c6 i7 a7 c6 c7 c8 i7 a7 input delay from pin to internal cells pad to i/o dataout to core 7 0 1.314 1.209 1.209 2.201 2.386 2.510 2.429 2.548 ns input delay from pin to input register pad to i/o input register 8 0 1.312 1.207 1.207 2.202 2.402 2.558 2.447 2.557 ns delay from output register to output pin i/o output register to pad 2 0 0.458 0.419 0.419 0.783 0.861 0.924 0.875 0.915 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.686 0.657 0.657 1.185 1.360 1.506 1.376 1.422 ns notes to table 1?43 : (1) the incremental values for the settings are generally linear. for the exact values for each setting, use the latest version of the quartus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software.
1?36 chapter 1: cyclone iv device datasheet switching characteristics cyclone iv device handbook, volume 3 ? december 2010 altera corporation ta b l e 1 ?4 4 and table 1?45 list the ioe programmable delay for cyclone iv gx devices. table 1?44. ioe programmable delay on column pins for cyclone iv gx devices (note 1) , (2) ?preliminary parameter paths affected number of settings min offset max offset unit fast corner slow corner c6 i7 c6 c7 c8 i7 input delay from pin to internal cells pad to i/o dataout to core 7 0 1.313 1.209 2.184 2.336 2.451 2.387 ns input delay from pin to input register pad to i/o input register 8 0 1.312 1.208 2.200 2.399 2.554 2.446 ns delay from output register to output pin i/o output register to pad 2 0 0.438 0.404 0.751 0.825 0.886 0.839 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.713 0.682 1.228 1.41 1.566 1.424 ns notes to table 1?44 : (1) the incremental values for the settings are generally linear. for exact values of each setting, use the latest version of th e quartus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software. table 1?45. ioe programmable delay on row pins for cyclone iv gx devices (note 1) , (2) ?preliminary parameter paths affected number of settings min offset max offset unit fast corner slow corner c6 i7 c6 c7 c8 i7 input delay from pin to internal cells pad to i/o dataout to core 7 0 1.314 1.210 2.209 2.398 2.526 2.443 ns input delay from pin to input register pad to i/o input register 8 0 1.313 1.208 2.205 2.406 2.563 2.450 ns delay from output register to output pin i/o output register to pad 2 0 0.461 0.421 0.789 0.869 0.933 0.884 ns input delay from dual-purpose clock pin to fan-out destinations pad to global clock network 12 0 0.712 0.682 1.225 1.407 1.562 1.421 ns notes to table 1?45 : (1) the incremental values for the settings are generally linear. for exact values of each setting, use the latest version of qu artus ii software. (2) the minimum and maximum offset timing numbers are in reference to setting 0 as available in the quartus ii software
chapter 1: cyclone iv device datasheet 1?37 i/o timing ? december 2010 altera corporation cyclone iv device handbook, volume 3 i/o timing use the following methods to determine i/o timing: the excel-based i/o timing the quartus ii timing analyzer the excel-based i/o timing provides pin timing performance for each device density and speed grade. the data is typically used prior to designing the fpga to get a timing budget estimation as part of the link timing analysis. the quartus ii timing analyzer provides a more accurate and precise i/o timing data based on the specifics of the design after place-and-route is complete. f the excel-based i/o timing spreadsheet is downloadable from cyclone iv devices literature website.
1?38 chapter 1: cyclone iv device datasheet glossary cyclone iv device handbook, volume 3 ? december 2010 altera corporation glossary ta b l e 1 ?4 6 lists the glossary for this chapter. table 1?46. glossary (part 1 of 5) letter term definitions a ?? b ?? c ?? d ?? e ?? f f hsclk high-speed i/o block: high-speed receiver/transmitter input and output clock frequency. g gclk input pin directly to global clock network. gclk pll input pin to global clock network through the pll. h hsiodr high-speed i/o block: maximum/minimum lvds data transfer rate (hsiodr = 1/tui). i input waveforms for the sstl differential i/o standard j jtag waveform k ?? l ?? m ?? n ?? o ?? v il v ref v ih v swing tdo tck t jpzx t jpco t jsco t jsxz t jph t jsh t jpxz t jcp t jpsu_tms t jcl t jch tdi tms signal to b e capt u red signal to b e driven t jpsu_tdi t jszx t jssu
chapter 1: cyclone iv device datasheet 1?39 glossary ? december 2010 altera corporation cyclone iv device handbook, volume 3 p pll block the following highlights the pll specification parameters: q ?? r r l receiver differential input discrete resistor (external to cyclone iv devices). receiver input waveform receiver input waveform for lvds and lvpecl differential standards: receiver input skew margin (rskm) high-speed i/o block: the total margin left after accounting for the sampling window and tccs. rskm = (tui ? sw ? tccs) / 2. table 1?46. glossary (part 2 of 5) letter term definitions core clock phase tap reconfigurable in user mode key clk n m pfd vco cp lf clkout pins gclk f i n pfd f i n f vco f out f out _ext switcho v er counters c0..c4 single-ended waveform differential waveform (mathematical function of positive & negative channel) positi v e channel (p) = v ih n egati v e channel (n) = v il ground v id v id 0 v v cm p - n v id
1?40 chapter 1: cyclone iv device datasheet glossary cyclone iv device handbook, volume 3 ? december 2010 altera corporation s single-ended voltage- referenced i/o standard the jedec standard for sstl and hstl i/o standards defines both the ac and dc input signal values. the ac values indicate the voltage levels at which the receiver must meet its timing specifications. the dc values indicate the voltage levels at which the final logic state of the receiver is unambiguously defined. after the receiver input crosses the ac value, the receiver changes to the new logic state. the new logic state is then maintained as long as the input stays beyond the dc threshold. this approach is intended to provide predictable receiver timing in the presence of input waveform ringing . sw (sampling window) high-speed i/o block: the period of time during which the data must be valid to capture it correctly. the setup and hold times determine the ideal strobe position in the sampling window. t t c high-speed receiver and transmitter input and output clock period. channel-to- channel-skew (tccs) high-speed i/o block: the timing difference between the fastest and slowest output edges, including t co variation and clock skew. the clock is included in the tccs measurement. tcin delay from the clock pad to the i/o input register. t co delay from the clock pad to the i/o output. tcout delay from the clock pad to the i/o output register. t duty high-speed i/o block: duty cycle on high-speed transmitter output clock. t fall signal high-to-low transition time (80?20%). t h input register hold time. timing unit interval (tui) high-speed i/o block: the timing budget allowed for skew, propagation delays, and data sampling window. (tui = 1/(receiver input clock frequency multiplication factor) = t c /w). t injitter period jitter on the pll clock input. t outjitter_dedclk period jitter on the dedicated clock output driven by a pll. t outjitter_io period jitter on the general purpose i/o driven by a pll. tpllcin delay from the pll inclk pad to the i/o input register. tpllcout delay from the pll inclk pad to the i/o output register. table 1?46. glossary (part 3 of 5) letter term definitions v ih ( ac ) v ih(dc) v ref v il(dc) v il(ac ) v oh v ol v ccio v ss
chapter 1: cyclone iv device datasheet 1?41 glossary ? december 2010 altera corporation cyclone iv device handbook, volume 3 transmitter output waveform transmitter output waveforms for the lvds, mini-lvds, ppds and rsds differential i/o standards: t rise signal low-to-high transition time (20?80%). t su input register setup time. u ?? table 1?46. glossary (part 4 of 5) letter term definitions single-ended waveform differential waveform (mathematical function of positive & negative channel) positi v e channel (p) = v oh n egati v e channel (n) = v ol ground v od v od v od 0 v v os p - n
1?42 chapter 1: cyclone iv device datasheet glossary cyclone iv device handbook, volume 3 ? december 2010 altera corporation v v cm(dc) dc common mode input voltage. v dif(ac) ac differential input voltage: the minimum ac input differential voltage required for switching. v dif(dc) dc differential input voltage: the minimum dc input differential voltage required for switching. v icm input common mode voltage: the common mode of the differential signal at the receiver. v id input differential voltage swing: the difference in voltage between the positive and complementary conductors of a differential transmission at the receiver. v ih voltage input high: the minimum positive voltage applied to the input that is accepted by the device as a logic high. v ih(ac) high-level ac input voltage. v ih(dc) high-level dc input voltage. v il voltage input low: the maximum positive voltage applied to the input that is accepted by the device as a logic low. v il (ac) low-level ac input voltage. v il (dc) low-level dc input voltage. v in dc input voltage. v ocm output common mode voltage: the common mode of the differential signal at the transmitter. v od output differential voltage swing: the difference in voltage between the positive and complementary conductors of a differential transmission at the transmitter. v od = v oh ? v ol . v oh voltage output high: the maximum positive voltage from an output that the device considers is accepted as the minimum positive high level. v ol voltage output low: the maximum positive voltage from an output that the device considers is accepted as the maximum positive low level. v os output offset voltage: v os = (v oh + v ol ) / 2. v ox (ac) ac differential output cross point voltage: the volt age at which the differential output signals must cross. v ref reference voltage for the sstl and hstl i/o standards. v ref (ac) ac input reference voltage for the sstl and hstl i/o standards. v ref(ac) = v ref(dc) + noise. the peak-to-peak ac noise on v ref must not exceed 2% of v ref(dc) . v ref (dc) dc input reference voltage for the sstl and hstl i/o standards. v swing (ac) ac differential input voltage: ac input differential voltage required for switching. for the sstl differential i/o standard, refer to input waveforms. v swing (dc) dc differential input voltage: dc input differen tial voltage required for switching. for the sstl differential i/o standard, refer to input waveforms. v tt termination voltage for the sstl and hstl i/o standards. v x (ac) ac differential input cross point voltage: the voltage at which the differential input signals must cross. w ?? x ?? y ?? z ?? table 1?46. glossary (part 5 of 5) letter term definitions
chapter 1: cyclone iv device datasheet 1?43 document revision history ? december 2010 altera corporation cyclone iv device handbook, volume 3 document revision history ta b l e 1 ?4 7 lists the revision history for this chapter. table 1?47. document revision history date version changes made december 2010 1.4 updated for the quartus ii software version 10.1 release. updated table 1?21 and table 1?25 . minor text edits. july 2010 1.3 updated for the quartus ii software version 10.0 release: updated table 1?3, table 1?4, table 1?21, table 1?25, table 1?28, table 1?30, table 1?40, table 1?41, table 1?42, table 1?43, table 1?44, and table 1?45. updated figure 1?2 and figure 1?3. removed sw requirement and tccs for cyclone iv devices tables. minor text edits. march 2010 1.2 updated to include automotive devices: updated the ?operating conditions? and ?pll specifications? sections. updated table 1?1, table 1?8, table 1?9, table 1?21, table 1?26, table 1?27, table 1?31, table 1?32, table 1?33, table 1?34, table 1?35, table 1?36, table 1?37, table 1?38, table 1?40, table 1?42, and table 1?43. added table 1?5 to include esd for cyclone iv devices gpios and hssi i/os. added table 1?44 and table 1?45 to include ioe programmable delay for cyclone iv e 1.2 v core voltage devices. minor text edits. february 2010 1.1 updated table 1?3 through table 1?44 to include information for cyclone iv e devices and cyclone iv gx devices for quartus ii software version 9.1 sp1 release. minor text edits. november 2009 1.0 initial release.
1?44 chapter 1: cyclone iv device datasheet document revision history cyclone iv device handbook, volume 3 ? december 2010 altera corporation


▲Up To Search▲   

 
Price & Availability of EP4CE30F23C7N

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X